NumPy
属性
ay = np.array([])
- 建立一个矩阵
-
ay.nidm
ay.shape
ay.size
array生成矩阵
a = np.array([1,23,4], dtype = np.int)
a = np.zeros((3, 4))
-
a = np.ones((3, 4))
生成全是1的矩阵 -
a = np.empty((3, 4))
非常接近0的数 a = np.arange(10, 20).reshape((3, 4))
- 注意::reshape里面是一个元组::,输出为10-19
-
a = np.linspace(1, 10, 20)
生成一个数列,最后一个参数是元素个数
基础运算
-
c = a - b
加(减)法逐个元素想加(减) -
c**2
平方注意有两个* -
np.dot(a, b)
矩阵相乘 np.min()
-
np.argmin()
输出最小值对应的索引 -
axis = 0
时在行中运算,axis = 1 时在列中运算 -
np.medin()
求中位数 -
np.mean()
np.average()
求平均值,average可以求加权平均 -
np.cumsum()
逐项向前累加(斐波那契数列) -
np.diff()
后项减前项的差 -
np.nonzero()
返回两个array,第一个是不为零元素的行数,第二个是列 -
np.sort()
排序 -
np.transpose()
A.T
矩阵转置 -
np.clip(A, 5, 9)
将所有元素中,小于5的变为5,大于9的变为9,其余不变 -
np.matrix(A)
A.I
求逆矩阵
迭代
-
for cow in A
迭代行 -
for column in A.T
迭代列 -
for item in A.flat
迭代每一个元素,A.flat返回的是迭代器! -
a.flatten()
返回一个array,不同于A.flat - 切片操作与python数组相同
合并,分割
-
np.vstack(A, B)
上下合并 -
np.hstack(A, B)
左右合并 - 注意:::A.T不能把一个数列变成一个纵向矩阵::
-
A[np.newaxis, :]
将第一个维度+1(效果也可以用reshape实现) np.concatenate()
axis=
- axis=0时逐行运算,相当于横着‘压扁’
- axis=1时逐列运算,相当于竖着‘压扁’
插入,删除
-
np.insert(arr,obj,value,axis=None)
- value为插入的数值
- arr为目标向量
- obj为目标位置 ,表明哪一个子向量应该被移除,可以为整数或一个int型的向量
-
obj = numpy.s_[::2]
, 表示选取奇数
-
- value为想要插入的数值
- axis为插入的维度
-
np.append(arr,values,axis=None)
- 将values插入到目标arr的最后
numpy.delete(arr,obj,axis=None)