numpy简介
numpy是Python包含的一个扩展包,其主要用于数据处理,拥有强大的多维数组运算能力。说的直白一点,就是其在解决像线性代数这样包含数组、矩阵的问题上很强大,与Matlab有类似之处。
numpy的导入
import numpy as np #将numpy导入并简化命名为np
numpy创建array
np.array()
'''
创建一维数组[1,2,3],dtype设置数组元素的类型
'''
a=np.array([1,2,3],dtype='int16')
print(a) #显示输出
print(a.ndim) # 显示数组的维数
'''
创建二维数组
'''
b=np.array([[1,2,3],[4,5,6]]) #两行三列
print(b)
print(b.ndim)
执行输出结果:
[1 2 3]
1
[[1 2 3]
[4 5 6]]
2
除了np.array()生成数组,还有np.zeros(),np.arange(),如下:
a=np.zeros((3,4)) #生成3行4列的全0数组,注意np.zeros()内部是一个tupple
b=np.arange(10) #生成[0,9]10个元素的一维数组
print(a)
print(b)
执行输出结果:
[[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]]
[0 1 2 3 4 5 6 7 8 9]
np.arange()
np.arange()在创建数组时的使用频率很高,在这详细解释一下:
参数个数: np.arange()的参数个数可以有1个、2个或3个。
1个:如上代码b=np.arange(10) 所示,产生从0到9,共10个元素的数组。默认起点为0,步长为1,输入参数表示元素个数。
2个:
c=np.arange(10,20)
print(c)
输出结果:
[10 11 12 13 14 15 16 17 18 19]
两个参数为确定数组范围,区间为左闭右开,步长默认为1
3个:
d=np.arange(10,30,2)
print(d)
输出结果:
[10 12 14 16 18 20 22 24 26 28]
可见,前两个参数为指定范围,第三个参数为设置步长,区间同样为左闭右开。
reshape()函数
reshape函数主要是在生成数组时,指定数组的形状,代码如下:
a=np.arange(10,30,2).reshape((2,5)) #将数组转为2行5列的形状
print(a)
输出结果:
[[10 12 14 16 18]
[20 22 24 26 28]]
需要注意的是,所创建的数组元素个数需要满足reshape的元素个数(此例中2*5=10个元素),否则会报错。
linspace()函数
a=np.linspace(1,10,4,dtype=int).reshape(2,2)
print(a)
输出结果:
[[ 1 4]
[ 7 10]]
linspace函数生成在区间范围内指定元素个数的数组