Python3.5基础之NumPy模块的使用图文与实例详解


Posted in Python onApril 24, 2019

本文实例讲述了Python3.5基础之NumPy模块的使用。分享给大家供大家参考,具体如下:

1、简介

Python3.5基础之NumPy模块的使用图文与实例详解

Python3.5基础之NumPy模块的使用图文与实例详解

Python3.5基础之NumPy模块的使用图文与实例详解

Python3.5基础之NumPy模块的使用图文与实例详解

2、多维数组——ndarray

Python3.5基础之NumPy模块的使用图文与实例详解

Python3.5基础之NumPy模块的使用图文与实例详解

Python3.5基础之NumPy模块的使用图文与实例详解

Python3.5基础之NumPy模块的使用图文与实例详解

Python3.5基础之NumPy模块的使用图文与实例详解Python3.5基础之NumPy模块的使用图文与实例详解

Python3.5基础之NumPy模块的使用图文与实例详解

Python3.5基础之NumPy模块的使用图文与实例详解

Python3.5基础之NumPy模块的使用图文与实例详解

Python3.5基础之NumPy模块的使用图文与实例详解

Python3.5基础之NumPy模块的使用图文与实例详解

Python3.5基础之NumPy模块的使用图文与实例详解

Python3.5基础之NumPy模块的使用图文与实例详解

Python3.5基础之NumPy模块的使用图文与实例详解

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author:ZhengzhengLiu

import numpy as np

#1.创建ndarray
#创建一维数组
n1 = np.array([1,2,3,4])
print(n1)

#属性--ndim:维度;dtype:元素类型;shape:数组形状;
# size:数组元素总个数,shape值相乘得到
print("n1维度:",n1.ndim)
print("n1元素类型:",n1.dtype)
print("n1数组形状:",n1.shape)
print("n1数组元素总个数:",n1.size)

#创建二维数组
n2 = np.array([
  [1,2,3,4],
  [5,6,7,8]
])

print(n2)
print("n2维度:",n2.ndim)
print("n2元素类型:",n2.dtype)

#创建三维数组
n3 = np.array([
  [
    [1,2,3,4],
    [5,6,7,8]
  ],
  [
    [10,20,30,40],
    [50,60,70,80]
  ]
])

print(n3)
print("n3数组形状:",n3.shape)
print("n3数组元素总个数:",n3.size)

#2.通过函数创建数组
z = np.zeros((3,2))   #创建指定形状的数组,数值由零填充
print(z)
print(z.dtype)

o = np.ones((2,4))   #创建指定形状的数组,数值由1填充
print(o)

e = np.empty((2,3,2))  #创建指定形状的数组,数值由未初始化的垃圾值填充
print(e)

#3.通过函数计算的方式去创建数组
#一个参数,区间左闭右开,默认起始值为0,步长为1
np1 = np.arange(10)
print(np1)

#两个参数(起始值,终止值),区间左闭右开,默认步长为1
np2 = np.arange(2,10)
print(np2)

#三个参数(起始值,终止值,步长),区间左闭右开,步长为2
np3 = np.arange(2,10,2)
print(np3)

#倒序创建数组元素
np4 = np.arange(10,2,-1)
print(np4)

#全闭区间,参数(起始值,终止值,元素个数),等差数列
np5 = np.linspace(0,10,5)
print(np5)

#全闭区间,以10为底数参数为指数(起始值,终止值,元素个数),等比数列
np6 = np.logspace(0,2,5)
print(np6)

#生成随机数的数组
np7 = np.random.random((2,3))
print(np7)

运行结果:

[1 2 3 4]
n1维度: 1
n1元素类型: int32
n1数组形状: (4,)
n1数组元素总个数: 4
[[1 2 3 4]
 [5 6 7 8]]
n2维度: 2
n2元素类型: int32
[[[ 1  2  3  4]
  [ 5  6  7  8]]

 [[10 20 30 40]
  [50 60 70 80]]]
n3数组形状: (2, 2, 4)
n3数组元素总个数: 16
[[ 0.  0.]
 [ 0.  0.]
 [ 0.  0.]]
float64
[[ 1.  1.  1.  1.]
 [ 1.  1.  1.  1.]]
[[[  1.02548961e-305   5.40165714e-067]
  [  1.05952696e-153   9.69380992e+141]
  [  2.17151199e+214   4.34975848e-114]]

 [[  2.08064175e-115   1.91431714e+227]
  [  6.42897811e-109   1.26088822e+232]
  [  9.51634286e-114   5.45764552e-306]]]
[0 1 2 3 4 5 6 7 8 9]
[2 3 4 5 6 7 8 9]
[2 4 6 8]
[10  9  8  7  6  5  4  3]
[  0.    2.5   5.    7.5  10. ]
[   1.            3.16227766   10.           31.6227766   100.        ]
[[ 0.55980469  0.99477652  0.82310732]
 [ 0.97239333  0.1409895   0.57213264]]

Python3.5基础之NumPy模块的使用图文与实例详解Python3.5基础之NumPy模块的使用图文与实例详解

#修改ndarray形状
np8 = np.arange(0,20,2)
print(np8)
print(np8.size)

np9 = np8.reshape(2,5)
print(np9)
print(np9.size)

#reshape函数是对被修改数组的一个拷贝,共享同一内存,
# 修改其中一个数组会影响里一个
np9[1][2] = 50
print(np8)
print(np9)

# -1表示第二维自动根据元素个数计算
np10 = np8.reshape(5,-1)
print(np10)

#shape直接修改原来数组的形状
np8.shape=(2,-1)
print(np8)

运行结果:

[ 0  2  4  6  8 10 12 14 16 18]
10
[[ 0  2  4  6  8]
 [10 12 14 16 18]]
10
[ 0  2  4  6  8 10 12 50 16 18]
[[ 0  2  4  6  8]
 [10 12 50 16 18]]
[[ 0  2]
 [ 4  6]
 [ 8 10]
 [12 50]
 [16 18]]
[[ 0  2  4  6  8]
 [10 12 50 16 18]]

Numpy基本操作说明

Python3.5基础之NumPy模块的使用图文与实例详解Python3.5基础之NumPy模块的使用图文与实例详解

Python3.5基础之NumPy模块的使用图文与实例详解Python3.5基础之NumPy模块的使用图文与实例详解

Python3.5基础之NumPy模块的使用图文与实例详解

Python3.5基础之NumPy模块的使用图文与实例详解

Python3.5基础之NumPy模块的使用图文与实例详解

Python3.5基础之NumPy模块的使用图文与实例详解Python3.5基础之NumPy模块的使用图文与实例详解

Python3.5基础之NumPy模块的使用图文与实例详解Python3.5基础之NumPy模块的使用图文与实例详解

Python3.5基础之NumPy模块的使用图文与实例详解Python3.5基础之NumPy模块的使用图文与实例详解

Python3.5基础之NumPy模块的使用图文与实例详解

Python3.5基础之NumPy模块的使用图文与实例详解Python3.5基础之NumPy模块的使用图文与实例详解

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
Python命名空间详解
Aug 18 Python
Python正则表达式匹配ip地址实例
Oct 09 Python
python中assert用法实例分析
Apr 30 Python
Python实现二叉树结构与进行二叉树遍历的方法详解
May 24 Python
在cmd命令行里进入和退出Python程序的方法
May 12 Python
Python3中在Anaconda环境下安装basemap包
Oct 21 Python
Numpy中ndim、shape、dtype、astype的用法详解
Jun 14 Python
pytorch VGG11识别cifar10数据集(训练+预测单张输入图片操作)
Jun 24 Python
Python 在局部变量域中执行代码
Aug 07 Python
分享PyCharm最新激活码(真永久激活方法)不用每月找安装参数或最新激活码了
Dec 27 Python
python3.9.1环境安装的方法(图文)
Feb 02 Python
分享Python获取本机IP地址的几种方法
Mar 17 Python
基于python的ini配置文件操作工具类
Apr 24 #Python
python实现简单日期工具类
Apr 24 #Python
NumPy 基本切片和索引的具体使用方法
Apr 24 #Python
Python使用dict.fromkeys()快速生成一个字典示例
Apr 24 #Python
python3中property使用方法详解
Apr 23 #Python
详解爬虫被封的问题
Apr 23 #Python
Python3.5 Pandas模块缺失值处理和层次索引实例详解
Apr 23 #Python
You might like
暴雪前总裁遗憾:没尽早追赶Dota 取消星际争霸幽灵
2020/03/08 星际争霸
实现“上一页”和“下一页按钮
2006/10/09 PHP
php 格式化数字的时候注意数字的范围
2010/04/13 PHP
利用php绘制饼状图的实现代码
2013/06/07 PHP
详解WordPress中创建和添加过滤器的相关PHP函数
2015/12/29 PHP
javascript EXCEL 操作类代码
2009/07/30 Javascript
实现只能输入数字的input不用replace方法
2013/09/12 Javascript
javascript修改表格背景色实例代码分享
2013/12/10 Javascript
用js判断输入是否为中文的函数
2014/03/10 Javascript
网页广告中JS代码的信息监听示例
2014/04/02 Javascript
JavaScript匿名函数用法分析
2015/02/13 Javascript
简单了解JavaScript操作XPath的一些基本方法
2016/06/03 Javascript
JS中跨页面调用变量和函数的方法(例如a.js 和 b.js中互相调用)
2016/11/01 Javascript
浅谈EasyUI常用控件的禁用方法
2016/11/09 Javascript
非常优秀的JS图片轮播插件Swiper的用法
2017/01/03 Javascript
JQueryEasyUI框架下的combobox的取值和绑定的方法
2017/01/22 Javascript
vue+echarts实现动态绘制图表及异步加载数据的方法
2018/10/17 Javascript
vue实现微信浏览器左上角返回按钮拦截功能
2020/01/18 Javascript
[01:27:43]VGJ.S vs TNC Supermajor 败者组 BO3 第三场 6.6
2018/06/07 DOTA
[07:01]DOTA2-DPC中国联赛正赛 Aster vs Magma 3月5日 赛后选手采访
2021/03/11 DOTA
Python的Django框架中的Context使用
2015/07/15 Python
浅谈Python类里的__init__方法函数,Python类的构造函数
2016/12/10 Python
Windows下安装Django框架的方法简明教程
2018/03/28 Python
django 实现编写控制登录和访问权限控制的中间件方法
2019/01/15 Python
python函数与方法的区别总结
2019/06/23 Python
详解如何用TensorFlow训练和识别/分类自定义图片
2019/08/05 Python
Python使用import导入本地脚本及导入模块的技巧总结
2019/08/07 Python
Python编写带选项的命令行程序方法
2019/08/13 Python
美国最受欢迎的度假目的地优惠套餐:BookVIP
2018/09/27 全球购物
Ajax主要包含了哪些技术
2014/06/12 面试题
补充协议书范本
2014/04/23 职场文书
新书发布会策划方案
2014/06/09 职场文书
2014年财务工作总结范文
2014/11/11 职场文书
邀请函模板
2015/02/02 职场文书
Java使用JMeter进行高并发测试
2021/11/23 Java/Android
详解Spring Security如何在权限中使用通配符
2022/06/28 Java/Android