目錄
一:簡介
二:NumPy 常用操作
三:總結
一:簡介
是一個開源的Python庫,它為Python提供了強大的多維數組對象和用于處理這些數組的函數。NumPy的核心是ndarray,它是一個高效的多維數組容器,用于存儲和處理大規模的數據。NumPy還提供了許多數學函數,用于數組之間的操作,以及用于線性代數、傅立葉變換和隨機數生成等功能。
二:NumPy 常用操作
1 : 數組操作
numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0)
名稱?? ?描述
object?? ?數組或嵌套的數列
dtype?? ?數組元素的數據類型,可選
copy?? ?對象是否需要復制,可選
order?? ?創建數組的樣式,C為行方向,F為列方向,A為任意方向(默認)
subok?? ?默認返回一個與基類類型一致的數組
ndmin?? ?指定生成數組的最小維度
(1):創建一維數組
arr = np.array([1,2,3,4,5,6])
print(arr)
(2)創建多維數組
arr = np.array([[1,2,3],[4,5,6]])
print(arr)
(3)迭代數組
arr = np.array([1,2,3,4,5,6])
for x in np.nditer(arr.T):
? ? print (x, end=", " )
print ('\n')
(4)修改數組形狀
arr = np.array([1,2,3,4,5,6])
b = arr.reshape(2,3)
print(b) 轉化為2行3列
(5)數組廣播
a = np.array([1,2,3,4])?
b = np.array([10,20,30,40])?
c = a * b?
print (c)
(6)算數運算
a = np.arange(9, dtype = np.float_).reshape(3,3)
b = np.array([10,10,10])
add = np.add(a,b) ?#相加
sub = np.subtract(a,b) ?#相減
mul = np.multiply(a,b) ?#相乘
div = np.divide(a,b) ? #相除
print (add)
print (sub)
print (mul)
print (div)
(7)統計
a = np.array([[3,7,5],[8,4,3],[2,4,9]])
print (np.amin(a,1)) #按照行
print (np.amin(a,0)) ?#按照列
(8)數據排序
a = np.array([[3,7,8],[9,1,2]])
print (np.sort(a)) #按照行排序
print (np.sort(a, axis = ?0)) #按照列排序
(9) 數據篩選
a = np.array([[30,40,70],[80,20,10],[50,90,60]])
print (a.flatten())
print(np.argmax(a, axis = ?0)) #按列求最大值
print(np.argmax(a, axis = ?1)) #按行求最大值
2: 運算
(1) 兩個數組的點積,即元素對應相乘。
a = np.array([[1,2],[3,4]])
b = np.array([[11,12],[13,14]])
print(np.dot(a,b))
(2) 兩個向量的點積
a = np.array([[1,2],[3,4]])?
b = np.array([[11,12],[13,14]])?
?
# vdot 將數組展開計算內積
print (np.vdot(a,b))
(3)計算矩陣的乘法逆矩陣
x = np.array([[1,2],[3,4]])
y = np.linalg.inv(x)
print (x)
print (y)
print (np.dot(x,y))
3: 畫圖
(1) 離散圖
import numpy as np
from matplotlib import pyplot as plt
x = np.arange(1, 11)
y = 2 * x + 5
plt.title("離散圖")
plt.xlabel("x axis caption")
plt.ylabel("y axis caption")
plt.plot(x, y, "ob")
plt.show()
(2)計算正弦曲線
import numpy as np
import matplotlib.pyplot as plt
# 計算正弦曲線上點的 x 和 y 坐標
x = np.arange(0, ?3 ?* np.pi, ?0.1)
y = np.sin(x)
plt.title("正弦曲線")
# 使用 matplotlib 來繪制點
plt.plot(x, y)
plt.show()
三:總結
這里我們只是舉例演示部分NumPy的函數操作,NumPy還有很多函數用于復雜的代數運算和其他用途。