对于Numpy的函数:
1.shape():用来读取矩阵长度
例如:
shape([0])
shape([[1],[2]])
shape(3)
e = eye(3)
e.shape
e.shape[0]
上述代码中,
第一个求的是一维矩阵[1]的长度;
第二个求的是二维矩阵长度,返回两个值代表行和列的长度;
第三个求一个数,返回0;
eye()生成一个单位矩阵,然后求单位阵的长度和单位阵第一维度(行数)的长度。
2.tile():用来复制向量,组成矩阵
例如:tile(A,reps)
& A:输入的array
&reps:A沿各个维度重复的次数
tile(A,2)
# 结果:[1,2,1,2]
tile(A,(2,3))
# 结果:[[1,2,1,2,1,2],[1,2,1,2,1,2]] 第一维度重复3次,第二维度重复2次
tile(A,(2,2,3))
# 结果:[[[1,2,1,2,1,2],[1,2,1,2,1,2]],[[1,2,1,2,1,2],[1,2,1,2,1,2]]]
3.sum()
若有矩阵:
0 1
1 2
2 0
1 1
a = array([[0, 1], [1, 2], [2, 0], [1, 1]])
print a.sum()
print a.sum(axis=0)
print a.sum(axis=1)
返回结果:
8
[4 4]
[1 3 2 2]
即sum()正常求和,sum(axis=0)列相加,sum(axis=1)行相加
4.argsort():返回数组值从小到大的索引值
一维数组
x = np.array([3, 1, 2])
np.argsort(x)
array([1, 2, 0])
二维数组
x = np.array([[0, 3], [2, 2]])
np.argsort(x, axis=0) # 按列排序
array([[0, 1],
[1, 0]])
np.argsort(x, axis=1) #按行排序
array([[0, 1],
[0, 1]])
例1:
x = np.array([3, 1, 2])
np.argsort(x) # 按升序排列
array([1, 2, 0])
np.argsort(-x) # 按降序排列
array([0, 2, 1])
x[np.argsort(x)] # 通过索引值排序后的数组
array([1, 2, 3])
x[np.argsort(-x)]
array([3, 2, 1])
另一种方式实现按降序排序:
a = x[np.argsort(x)]
array([1, 2, 3])
a[::-1]
array([3, 2, 1])
5.对于矩阵在操作时,如
group = array([[1.0, 0.9],
[1.0, 1.0],
[0.1, 0.2],
[0.0, 0.1],
[0.2, 0.1]])
print group[2,:]
是获取第二行的所有列。
6. mat():将数据类型转化为矩阵
7. transpose(): 求矩阵的转置