方法 | 描述 |
array(p_object, dtype=None, copy=True, order='K', subok=False, ndmin=0) | 定义一个数组或矩阵, dtype指定数组中元素的类型 |
zeros((x,y)) | 创建x行y列的全为0的矩阵 |
ones((x,y)) | 创建x行y列的全为1的矩阵 |
eye(n) | 创建n行n列的单位矩阵 |
empty((x,y)) | 创建x行y列的空矩阵 |
arange(start,end,step) | 创建一个范围在[start,end),步长为step(默认是1)的向量 |
random.random((x,y)) | 创建x行y列范围在(0,1)之间的随机数矩阵 |
linespace(start,end,seg) | 创建start到end,平均分为seg段的向量 |
reshape((x,y)) | 对矩阵重构造为x行y列 |
示例:
代码:
import numpy as np
a = np.array([2,23,4],dtype=np.int)
print(a)
print(a.dtype)
结果:
[ 2 23 4]
int32
注:1.一般来说,位数越大,就需要更多的内存空间来存储,但保留的精度也相对精准。根据具体情况做取舍
2.int和float是常用的。其它数据格式自行百度
代码:
a1 = np.array([[2,23,4],
[2,32,4]])
print(a1)
注:定义矩阵:列表的嵌套
代码:
a2 = np.zeros((3,4))
print(a2)
结果:
[[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]]
注:生成一个3行4列全部为0的矩阵
代码:
a3 = np.ones((3,4),dtype=np.int16)
print(a3)
结果:
[[1 1 1 1]
[1 1 1 1]
[1 1 1 1]]
注:生成一个3行4列全部为1的矩阵
代码:
a4 = np.empty((3,4))
print(a4)
结果:
[[6.23042070e-307 1.89146896e-307 1.37961302e-306 1.05699242e-307]
[8.01097889e-307 1.78020169e-306 7.56601165e-307 1.02359984e-306]
[1.33510679e-306 2.22522597e-306 6.23053614e-307 9.34608432e-307]]
注:生成一个3行4列空矩阵,矩阵中的每个元素几乎接近于0
代码:
a5 = np.arange(10,20,2)
print(a5)
结果:
[10 12 14 16 18]
注:生成一个有序的矩阵:start-10,end-20,步长-2
代码:
a6 = np.arange(12).reshape((3,4))
print(a6)
结果:
[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]
注:生成一个元素为从0到11的3行4列的矩阵
代码:
a7 = np.linspace(1,10,5)
print(a7)
结果:
[ 1. 3.25 5.5 7.75 10. ]
注:生成一个1到10,分为5段的序列
代码:
a8_1 = np.linspace(1,10,5).reshape((2,3))
print(a8_1)
结果:
cannot reshape array of size 5 into shape (2,3)
注:也可以使用reshape来更改它的形状。注意:分段数 == reshape中定义的元素总个数。否则会报错
代码:
a8_2 = np.linspace(1,10,6).reshape((2,3))
print(a8_2)
结果:
[[ 1. 2.8 4.6]
[ 6.4 8.2 10. ]]