一.安装numpy包,安装成功后检测:
import numpy as np
print(np.version.version)
二.基础数组例子
Numpy中,维度被称作axes
, 维度数被称作rank
。
Numpy的数组类是ndarray
, 与标准python库的数组不太一样,它包含的元素必须是相同类型的。
ndarray
的常见属性如下:
ndarray.ndim
数组的轴数(即rank
)ndarray.shape
数组的维度,返回的是一个元组,元组的长度值刚好是ndim
ndarray.size
数组元素的个数ndarray.dtype
数组元素的类型ndarray.itemsize
数组元素的字节大小ndarray.data
数组包含的实际数据
a=np.arange(15).reshape(3,5)
print(a)
print(type(a))
print(a.ndim) #数组的轴数
print(a.shape) #数组的维度
print(a.size) #数组元素的个数
print(a.dtype) #数组元素的类型
print(a.itemsize) #数组元素的字节大小
print(a.data) #数组包含的实际数
三.创建数组
通过array
函数,可以从普通的python列表或元组来创建。
a=np.array([2,3,4])
print(a)
print(a.dtype) #数组元素的类型
b=np.array([1.2,3.5,5.1])
print(b.dtype) #数组元素的类型
一个常见的错误就是在调用array
函数时, 传递多个参数。
a=np.array(1,2,3,4) #错误
a=np.array((1,2,3,4)) #正确,元组
a=np.array([1,2,3,4]) #正确,列表
array
可以接受列表序列并将它转换为多维数组,同样可以在创建数组的时候,指定数据类型。
c=np.array([(1.5, 2.3),(4,5,6)],dtype=object) #后面必须加dtype=object,否则报错
print(c)
d = np.array([[1,2], [3,4]], dtype=complex)
print(d)
Numpy提供了一些函数来创建指定大小的数组,并用占位符来填充数组。
zeros
函数创建初始值为0的数组ones
创建初始值为1的数组empty
创建未初始化的随机数组
默认情况下,上面三个函数创建数组的元素类型都是float64
。
a=np.zeros((3,4))
print(a)
b=np.ones((3,4))
print(b)
c=np.empty((2,5))
print(c)
range
函数的方法:创建序列函数。第三个参数代表步长
print(np.arange(10,30,5))
print(np.arange(0,2,0.3))
当使用arange
函数的生成float
类型的序列时,生成的序列有时候并不会按照我们预期的步长来生成,要实现这个效果,最好是用linspace
函数来代替。第三个参数例如:
from numpy import pi
print(np.linspace(0, 2, 9))
x = np.linspace( 0, 2*pi, 100 )
print(x)
f=np.sin(x)
print(x)
四.打印数组
1.当使用print
函数打印数组时,numpy会输出一个嵌套的列表形式。
a=np.arange(6) #一维数组
print(a)
b=np.arange(12).reshape(4,3)#二维数组
print(b)
print('\n')
c=np.arange(24).reshape(2,3,4)#三维数组
print(c)
2.当数组包含的元素太多时,会省略中间的元素,只打印角落的元素。
print(np.arange(10000))
print('\n')
print(np.arange(10000).reshape(100,100))
如果想禁用这个行为,强制打印所有的元素,可以开启set_printoptions
选项。
np.set_printoptions(threshold=100)
print(np.arange(100))
总结:
1.Numpy中,维度被称作axes
, 维度数被称作rank
。
Numpy的数组类是ndarray
, 与标准python库的数组不太一样,它包含的元素必须是相同类型的。
ndarray
的常见属性如下:
ndarray.ndim
数组的轴数(即rank
)ndarray.shape
数组的维度,返回的是一个元组,元组的长度值刚好是ndim
ndarray.size
数组元素的个数ndarray.dtype
数组元素的类型ndarray.itemsize
数组元素的字节大小ndarray.data
数组包含的实际数据
2.通过array
函数,可以从普通的python列表或元组来创建数组。
3.a=np.array(1,2,3,4) #错误 需要用小括号和中括号括起来,否则报错。
4.c=np.array([(1.5, 2.3),(4,5,6)],dtype=object) #后面必须加dtype=object,否则报错 。
5.zeros
函数创建初始值为0的数组
ones
创建初始值为1的数组
empty
创建未初始化的随机数组
6.创建序列函数:np.arange(10,30,5) 第三个参数代表步长。
np.linspace(0, 2, 9) 第三个参数代表个数。