Python

numpy

库的导入
import numpy as np  
1. 数组的创建
arr = np.array([1, 2, 3, 4, 5])  
print(arr) # [1 2 3 4 5]  
print(type(arr)) # <class 'numpy.ndarray'>  
arr1 = np.array([[1, 2, 3], [4, 5, 6], ['a', 3, 4], [5, 6, 7]]) # 可以是混合类型  
print("数组形状", arr1.shape) # 数组形状 (2, 5)
2. 索引和切片
print(arr[0]) #  
print(arr[0:2]) #[1 2]  
print(arr1[0]) # ['1' '2' '3']  
print(arr1[0:2]) # [['1' '2' '3']\n ['4' '5' '6']]
3. 运算 +-*/ 对应位置上的运算进行运算
print([1, 2, 3] + [4, 5, 6]) # [1, 2, 3, 4, 5, 6]  
print(np.array([1, 2, 3]) + np.array([4, 5, 6])) # [5 7 9]  
print(np.array([1, 2, 3]) * np.array([4, 5, 6])) # [ 4 10 18]
4. 数组形状操作
arr2 = np.array([[1, 2, 3], [4, 5, 6], ['a', 3, 4], [5, 6, 7]]) # 可以是混合类型  
print(arr2.shape) # (4, 3)  
arr3 = arr2.reshape(2, 6)  
# arr4 = arr2.reshape(2, 5) # cannot reshape array of size 12 into shape (2,5)  
print(arr3, "\n新的数组的形状是", arr3.shape) # [['1' '2' '3' '4' '5' '6']\n ['a' '3' '4' '5' '6' '7']]\n新的数组的形状是 (2, 6)  
arr2T = arr2.transpose()  
print(arr2T, "\n数组的转置的形状是", arr2T.shape) # [['1' '4' 'a' '5']\n ['2' '5' '3' '6']\n ['3' '6' '4' '7']]\n数组的转置的形状是 (3, 4)
5. 线性代数
arr4 = np.array([1, 2, 3])  
arr5 = np.array([4, 5, 6])  
arr4_dot_arr5 = np.dot(arr4, arr5)  
print(arr4_dot_arr5) # 32  
  
arr6 = np.array([[1123, 32, 31], [44, 524, 69], [23, 324, 423], [50798, 6324, 712]])  
print("arr6的平均值", arr6.mean()) # arr6的平均值 5035.583333333333
print("arr6的平均值", np.mean(arr6)) # arr6的平均值 5035.583333333333
print("arr6的和", arr6.sum()) # arr6的和 60427
print("arr6的最大值", arr6.max()) # arr6的最大值 50798
print("arr6的最小值", np.min(arr6)) # arr6的最小值 23
print("arr6的标准差", arr6.std()) # arr6的标准差 13899.881147323606
print("arr6的排序", np.sort(arr6)) # 只能这么写,不能写arr6.sort()
# arr6的排序 [[   31    32  1123]\n [   44    69   524]\n [   23   324   423]\n [  712  6324 50798]]
print("arr6的排序2", np.sort(arr6.reshape(-1))) # 参数是-1:变成一行
# arr6的排序2 [   23    31    32    44    69   324   423   524   712  1123  6324 50798]  
print(arr6[(arr6 > 1000) & (arr6 < 10000)]) # 用&而不是&& # [1123 6324]
6. 数据的保存和导入
np.save("arr6", arr6)  
  
arr7 = np.load("arr6.npy")  
print(arr7)

Pasted image 20250115204208.png

Built with MDFriday ❤️