一、NumPy簡介
NumPy是Python科學計算常用的基礎庫,提供了高性能的多維數組對象,以及用於數組計算的各種工具函數。NumPy數組可以存儲相同類型的大量數據,支持快速的向量化操作。
通過NumPy,可以方便地進行科學計算、數據分析、圖像處理等操作。在處理實數數據時,NumPy具有重要的作用。
二、生成數組
生成一維數組使用numpy.array(),可以直接傳入列表或元組。例如:
import numpy as np
a = np.array([1,2,3,4,5])
b = np.array((6,7,8,9,10))
print(a)
print(b)
生成二維數組使用numpy.array(),可以傳入嵌套列表或元組。例如:
c = np.array([[1,2,3],[4,5,6],[7,8,9]])
d = np.array(((10,11,12),(13,14,15),(16,17,18)))
print(c)
print(d)
三、數組屬性
使用ndim、shape、size、dtype等屬性可以獲取數組的維度、形狀、元素個數、數據類型等信息。例如:
a = np.array([1,2,3,4,5])
print("ndim:",a.ndim)
print("shape:",a.shape)
print("size:",a.size)
print("dtype:",a.dtype)
輸出結果為:
ndim: 1
shape: (5,)
size: 5
dtype: int64
對於二維數組,其信息的獲取方法與一維數組類似。
四、數組運算
NumPy支持數組之間的各種運算,包括加、減、乘、除、點積等。對於一維數組,可以直接進行加減乘除等簡單的數學運算,例如:
a = np.array([1,2,3,4,5])
b = np.array([5,4,3,2,1])
print(a+b)
print(a-b)
print(a*b)
print(a/b)
對於二維數組,它們的形狀需要滿足一定的條件才能進行加減乘除等運算。例如:
c = np.array([[1,2,3],[4,5,6]])
d = np.array([[7,8,9],[10,11,12]])
print(c+d)
print(c-d)
print(c*d)
print(c/d)
print(c.dot(d.T))
其中,點積運算可以使用dot()函數來實現。
五、常用函數
NumPy提供了各種常用函數,包括均值、方差、標準差、最大值、最小值等統計函數,以及sin、cos等三角函數。
a = np.array([1,2,3,4,5])
print(np.mean(a))
print(np.var(a))
print(np.std(a))
print(np.max(a))
print(np.min(a))
print(np.sin(a))
六、索引和切片
對於一維數組,可以使用索引和切片的方式獲取數組元素。例如:
a = np.array([1,2,3,4,5])
print(a[0],a[2],a[-1])
print(a[1:4])
輸出結果為:
1 3 5
[2 3 4]
對於二維數組,需要使用冒號分隔的兩個索引值來獲取元素。例如:
c = np.array([[1,2,3],[4,5,6]])
print(c[0,0],c[1,2])
print(c[:,1])
輸出結果為:
1 6
[2 5]
七、廣播
NumPy廣播指的是不同形狀的數組之間的運算。在計算時,NumPy會自動將不同形狀的數組廣播成相同形狀,然後進行對應位置的運算。例如:
a = np.array([1,2,3])
b = np.array([[4,5,6],[7,8,9]])
print(a+b)
輸出結果為:
[[ 5 7 9]
[ 8 10 12]]
八、Conclusion
通過本文,我們學習了如何使用Python NumPy庫處理實數數據。NumPy提供了強大的功能,支持多維數組的操作、一些重要的數學函數、廣播等功能。對於科學計算、數據分析等領域,NumPy是非常重要的基礎庫。
更多有關NumPy的用法,請查看NumPy官方文檔。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/241049.html