创建数组
#创建数组
a=np.array([1,2,3])
b=np.array([(1,5,2,3),(4,5,6,7)],dtype=np.float32)
c=np.array([[(1,5,2,3),(4,5,6,7)],[(3,2,1,0),(4,5,6,7)]],dtype=np.float32)
print(a,'\n',b,'\n',c)
[1 2 3]
[[1. 5. 2. 3.]
[4. 5. 6. 7.]]
[[[1. 5. 2. 3.]
[4. 5. 6. 7.]]
[[3. 2. 1. 0.]
[4. 5. 6. 7.]]]
初始化占位符
零矩阵
np.zeros((3,4))#创建3*4的0矩阵
1矩阵
np.ones((2,3,4),dtype=np.int16)#创建2*3*4的矩阵,第一个2为通道数
array([[[1, 1, 1, 1],
[1, 1, 1, 1],
[1, 1, 1, 1]],
[[1, 1, 1, 1],
[1, 1, 1, 1],
[1, 1, 1, 1]]], dtype=int16)
均匀间隔数组
d=np.arange(10,25,5)#均匀间隔数组,步进值为5
np.linspace(0,2,9)#创建均匀间隔数组,使用样本数进行分割数组
数据类型
数据类型 | |
---|---|
np.int64 | 带符号64位 |
np.float | 双精度浮点数 |
np.complex | 复数 |
np.bool | bool值 |
np.object | Python对象 |
np.string_ | 固定长度字符串 |
np.unicode_ | 固定长度Unicode |
数组信息
a.shape
len(a)
b.ndim
e.size
b.dtype
b.dtype.name
b.astype(int)
数组计算
算术运算
a-b /np.subtract(a,b) | |
a+b /np.add(a,b) | |
a/b /np.divide(a,b) | |
a*b /np.multiply(a,b) | |
np.exp(a) | |
np.sqrt(a) | |
np.sin(a) /np.cos(a) | |
np.log(a) | |
a.dot(b) | 点积 |
比较
a=np.array([1,2,3,4])
b=np.array([3,4,5,1])
1.a==b
[False False False False]
2.a<2
[ True False False False]
3.np.array_equal(a,b)
False
聚合函数
函数 | 描述 |
---|---|
a.sum() | 数组汇总 |
a.min() | 数组最小值 |
a.max(axis=0) | 按行求最大值 |
a.cumsum(axis=1) | 按列进行累加 |
a.mean() | 平均数 |
a.median() | 中位数 |
a.corrcoef() | 求相关系数 |
np.std(a) | 标准差 |
数组复制
h=a.view()
创建同一数组视图,此时改变a,h会随之改变,也被称作浅拷贝
h=a.copy()
创建数组的深度拷贝
数组排序
a.sort()
a.sort(axis=0)
以行为依据对数组排序