隨著大數據時代和人工智慧的快速發展,數據處理和分析成為了數據科學家和程序員們的日常工作之一。在Python中,Numpy(Numerical Python)是一個很常用的庫,用於高效而可靠地存儲和處理數據。
一、基本介紹
Numpy是一個開源的庫,支持Python語言用於數值計算、科學計算和數據分析。Numpy由多維數組對象和一組用於操作數組的函數構成,數組是一個通用的數據結構,用於存儲元素的集合,這些元素可以是數字,字元串或其他任何對象。
Numpy的優勢在於其性能和效率:它允許開發人員在Python中高效地執行大量的數值操作,尤其適用於數組和矩陣計算。由於其採用了C語言作為內部實現,Numpy的執行速度比傳統的Python方法更快。
在使用Numpy之前,需要先安裝Numpy庫。可以使用以下命令安裝:
pip install numpy
二、Numpy數組的創建
Numpy數組的創建非常簡單,可以從已有數組創建、從Python列表、元組中創建或者使用專門的函數進行創建。
1. 從已有數組創建
可以使用numpy.asarray()函數從已有數組創建數組:
import numpy as np
a = np.array([1, 2, 3])
b = np.asarray(a)
print(b)
輸出結果為:[1 2 3]
2. 從Python列表、元組中創建
可以使用numpy.array()函數從Python列表、元組中創建數組:
import numpy as np
a = np.array([1, 2, 3])
b = np.array([(1, 2, 3), (4, 5, 6)])
print(a)
print(b)
輸出結果為:[1 2 3]
[[1 2 3]
[4 5 6]]
3. 使用專門的函數進行創建
Numpy提供了一些函數,用於創建特定的數組,例如numpy.zeros()、numpy.ones()、numpy.empty()、numpy.arange()、numpy.linspace()等
import numpy as np
a = np.zeros((2,3))
b = np.ones((2,3))
c = np.empty((2,3))
d = np.arange(1, 11, 2)
e = np.linspace(0, 1, num=5)
print(a)
print(b)
print(c)
print(d)
print(e)
輸出結果為:[[0. 0. 0.]
[0. 0. 0.]]
[[0. 0. 0.]
[0. 0. 0.]]
[[1.00000000e+000 1.00000000e+000 2.24982284e-314]
[1.79769313e+308 1.00000000e+000 0.00000000e+000]]
[1 3 5 7 9]
[0. 0.25 0.5 0.75 1.]
三、Numpy數組的操作
1. 訪問數組元素
可以使用下標訪問數組元素:
import numpy as np
a = np.array([(1, 2, 3), (4, 5, 6)])
print(a[0, 0])
print(a[1, 2])
輸出結果為:1
6
2. 數組切片
Numpy數組支持和Python列表一樣的切片操作:
import numpy as np
a = np.array([(1, 2, 3), (4, 5, 6)])
print(a[0:2, 0:2])
輸出結果為:[[1 2]
[4 5]]
3. 數組形狀操作
Numpy數組可以通過reshape()函數改變形狀,或者使用flatten()函數將多維數組轉換為一維數組。
import numpy as np
a = np.array([(1, 2, 3), (4, 5, 6)])
print(a.shape)
b = a.reshape(3, 2)
print(b)
c = a.flatten()
print(c)
輸出結果為:(2, 3)
[[1 2]
[3 4]
[5 6]]
[1 2 3 4 5 6]
四、Numpy數組的計算
Numpy數組支持多種數學計算功能,包括基本的數學運算、矩陣計算、統計計算、排序等。
1. 基本數學運算
可以對Numpy數組進行基本的算術運算,例如加減乘除、乘方運算、取模運算等:
import numpy as np
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
c = a + b
d = a - b
e = a * b
f = b / a
g = a ** 2
h = b % a
print(c)
print(d)
print(e)
print(f)
print(g)
print(h)
輸出結果為:[5 7 9]
[-3 -3 -3]
[ 4 10 18]
[4. 2.5 2.]
[1 4 9]
[0 1 0]
2. 矩陣計算
Numpy數組支持矩陣的加減乘除,可以使用np.dot()函數進行矩陣乘積計算:
import numpy as np
a = np.array([(1, 2), (3, 4)])
b = np.array([(5, 6), (7, 8)])
c = a + b
d = a - b
e = np.dot(a, b)
f = np.linalg.det(a)
g = np.linalg.inv(a)
print(c)
print(d)
print(e)
print(f)
print(g)
輸出結果為:[[ 6 8]
[10 12]]
[19 22]
-2.0000000000000004
[[-2. 1.]
[ 1.5 -0.5]]
3. 統計計算
Numpy數組可以進行統計計算,例如計算平均值、方差、標準差、最大值、最小值等:
import numpy as np
a = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
b = np.mean(a)
c = np.var(a)
d = np.std(a)
e = np.max(a)
f = np.min(a)
print(b)
print(c)
print(d)
print(e)
print(f)
輸出結果為:5.5
8.25
2.8722813232690143
10
1
4. 數組排序
Numpy數組可以進行排序,可以使用sort()函數進行排序:
import numpy as np
a = np.array([3, 6, 1, 8, 2, 9])
b = np.sort(a)
print(b)
輸出結果為:[1 2 3 6 8 9]
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/206691.html