1.导入模块
import numpy as np
2.列表
a = [1,2,3,4]
3,数组
b = np.array([1,2,3,4])
print b 输出[1 2 3 4], 注意没有逗号
3.1 np.linspace(1,10,5) 从1到10 取 5个数
3.2 np.arange(1,10,2) 从1,10,步距为2,不包括10
4.求和,最大值,最小值,均值
np.sum(b,axis =0) , np.cumsum(b)逐个累加,数组维数不变 ,np.diff(b)累差,列会少一列
np.max(b)
np.min(b)
np.mean(b) np.average(b) np.median(b)
5.球最大值,最小值对应的索引
np.argmax(b)
np.argmin(b)
6. 矩阵逐行排序 np.sort(b)
7.矩阵反向 np.transpose(b)
8.np.clip(b,3,9)让 矩阵 中所有小于3的数都为3,所有大于9 的数都为9
9.对矩阵列求平均值 np.mean(b,axis =0)
9.对矩阵行求平均值 np.mean(b,axis =1)
10.b[2][1] 等价于 b[2,1]
11,b是一个二维矩阵,使用下面方式输出每一行 :
for row in b:
print row
使用下面方式输出每一列:
for col in b.T:
print col
12, 二维数组 b转化成一维数组: b.flatten()从而可以使用下面方式输出每一个元素:
for item in b.flat:
print item
13.垂直合并两个一维数组
a1 = np.array([1,2,3])
a2=np.array([4,5,6])
b = np.vstack((a1,a2))
b = [[1 2 3]
[4 5 6]]
13.水平合并两个一维数组
b = np.hstack((a1,a2))
b = [1 2 3 4 5 6]
14 . a1= np.array([1,2,3]) 为一维数组[1 2 3],使用如下方法可将其变成1行3列 或 3行1列
[1 2 3] 变成[[1 2 3]] a1[np.newaxis,:] 1行3列
[1 2 3] 变成[[1]
[2]
[3]]
a1[;,np.newaxis] 3行1列
14.1 合并综合
np.concatenate((a1,a2,a3,...),axis = 0) 纵向合并 ,如 两个3行1列纵向合并成 6行1列
np.concatenate((a1,a2,a3,...),axis = 1) 水平合并 ,如两个3行1列水平合并成 3行 2列
15.矩阵分割
a1 = np.arange(12).resharp((3,4)) 生成3行4列
a2 = np.split(a1,2,1) 纵向分裂成2等份,变成2个 3行2列
a3 = np.array_split(a1,3,1) 纵向分裂成3份,变成1个 3行2列,1个3行1列,1个3行1列
np.vsplit(a1,3) 分成 3个1行4列
np.hsplit(a1,2) 分成2个 3行2列
16.矩阵赋值
a = [1,2,3]
生成1个整数数组: c = np.array(a,dtype=np.int32)
生成1个浮点数数组: c = np.array(a,dtype=np.float32)
关联赋值:
b = a 列表赋值
d = c矩阵赋值
两者都是引用方式, b is a , d is c 都为true ,所以 改变a,c 则b,d也跟着变。 这相当于关联赋值,一改全改
非关联赋值:
b = a[:] 列表赋值 ,此时改变b,不影响a
d = c.copy() 数组赋值,此时改变d,不影响c