NumPy是Python的一個擴展庫,用於處理大型多維數組和矩陣,具有廣泛的數學支持函數。在科學計算和數據分析中,NumPy是必不可少的一部分。它不僅提供了豐富的數學運算、線性代數運算和傅里葉變換等算法,還能夠與其他科學計算和數據分析的Python庫很好地結合使用。
一、數組的創建
創建NumPy數組的最基本方式是使用numpy.array()函數。下面是創建一個一維數組的例子:
import numpy as np
arr1 = np.array([1, 2, 3, 4, 5])
print(arr1)
輸出結果為:
[1 2 3 4 5]
使用numpy.arange()函數可以創建一個有序的一維數組,下面是一個例子:
import numpy as np
arr2 = np.arange(10)
print(arr2)
輸出結果為:
[0 1 2 3 4 5 6 7 8 9]
numpy.zeros()函數可以創建指定形狀的數組,並用0來填充,下面是一個例子:
import numpy as np
arr3 = np.zeros((3, 4))
print(arr3)
輸出結果為:
[[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]]
二、數組的操作
NumPy數組提供了很多方法和函數可以用來對數組進行操作。下面是一些常用的操作方法:
1.形狀操作
numpy.reshape()可以用來改變數組的形狀,下面是一個例子:
import numpy as np
arr4 = np.array([1, 2, 3, 4, 5, 6])
arr5 = arr4.reshape((2, 3))
print(arr5)
輸出結果為:
[[1 2 3]
[4 5 6]]
2.數組拼接
numpy.concatenate()和numpy.stack()可以用來將數組沿着不同的軸進行拼接,下面是一個例子:
import numpy as np
arr6 = np.array([[1, 2], [3, 4]])
arr7 = np.array([[5, 6], [7, 8]])
# 沿着水平軸拼接兩個數組
arr8 = np.concatenate((arr6, arr7), axis=1)
print(arr8)
# 沿着垂直軸拼接兩個數組
arr9 = np.stack((arr6, arr7))
print(arr9)
輸出結果為:
[[1 2 5 6]
[3 4 7 8]]
[[[1 2]
[3 4]]
[[5 6]
[7 8]]]
三、數組的運算
1.數學運算
NumPy數組內置了很多數學函數,例如加、減、乘、除等,都是向量化操作,可以同時對整個數組進行數學運算。下面是一些常用的函數:
import numpy as np
arr10 = np.array([1, 2, 3])
arr11 = np.array([4, 5, 6])
# 數組相加
arr12 = np.add(arr10, arr11)
print(arr12)
# 數組相減
arr13 = np.subtract(arr10, arr11)
print(arr13)
# 數組相乘
arr14 = np.multiply(arr10, arr11)
print(arr14)
# 數組相除
arr15 = np.divide(arr10, arr11)
print(arr15)
輸出結果為:
[5 7 9]
[-3 -3 -3]
[ 4 10 18]
[0.25 0.4 0.5 ]
2.統計學運算
NumPy數組可以進行各種統計學運算,例如最大值、最小值、方差、標準差等。下面是一些常用的統計函數:
import numpy as np
arr16 = np.array([1, 2, 3, 4, 5])
arr17 = np.array([[1, 2], [3, 4]])
# 數組最大值
print(np.max(arr16))
# 數組最小值
print(np.min(arr16))
# 數組平均值
print(np.mean(arr16))
# 數組方差
print(np.var(arr16))
# 數組標準差
print(np.std(arr16))
# 二維數組沿着行進行求和
print(np.sum(arr17, axis=1))
輸出結果為:
5
1
3.0
2.0
1.4142135623730951
[3 7]
四、總結
本文介紹了如何使用Python創建和操作NumPy數組。在創建數組的過程中,我們可以使用numpy.array()、numpy.arange()和numpy.zeros()函數。在操作數組的過程中,我們可以使用numpy.reshape()、numpy.concatenate()和numpy.stack()函數對數組進行形狀操作和拼接,還可以使用各種內置的數學函數和統計函數進行數組的運算和統計學分析。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/192306.html