import numpy as np
arr=np.ones((5,6),int)
arr
该数组是5行6列的数组:
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],
[1, 1, 1, 1, 1, 1]])
a=arr.reshape((30,)) #二维变一维
a
输出:
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, 1, 1, 1, 1, 1, 1])
a.reshape((6,5))#一维变多维
输出:
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, 1],
[1, 1, 1, 1, 1]])
将多个numpy数组进行横向或者纵向的拼接;使用concatenate((a1, a2, …), axis=0)函数。
np.concatenate((arr,arr),axis=0) #纵向拼接
np.concatenate((arr,arr),axis=1) #横向拼接
-图片的拼接
import matplotlib.pyplot as plt
arr1=plt.imread('./1.jpg')
arr2=np.concatenate((arr1,arr1,arr1,arr1),axis=1)
plt.imshow(arr2)
plt.show()
arr.sum() #求数组中所有数的和
arr.sum(axis=0) #求每列的和
arr.sum(axis=1) #求每行的和
np.sin(arr) #对数组每个数求sin
np.around(3.84) #四舍五入结果为4.0
np.around(3.84,1) #结果为3.8
1.矩阵的转置:arr.T
2.矩阵乘法:np.dot(arr,arr)
arr_t=np.array([[1,3,2,1,3],[1,8,9,8,7],[6,7,8,4,5],[2,3,6,7,8],[2,6,4,7,3]])
print(arr_t)
print("转置后:")
print(arr_t.T)
print("矩阵相乘后:")
print(np.dot(arr_t,arr_t))