一、介紹numpy
numpy是一個Python第三方庫,提供了數組和矩陣運算的高效操作方法以及各種數學函數的實現,同時numpy也是進行數據分析及科學計算的基礎包之一。
引入numpy庫,並設置別名np,可以使用以下代碼:
<python>
import numpy as np
二、創建ndarray
numpy提供了幾種創建ndarray的方法:
1.使用array()函數創建
這是創建ndarray最常用的方式,可以將列表或元組變為ndarray:
<python>
>>> list1 = [1, 2, 3, 4, 5]
>>> array1 = np.array(list1)
>>> array1
array([1, 2, 3, 4, 5])
>>> tuple1 = (1, 2, 3, 4, 5)
>>> array2 = np.array(tuple1)
>>> array2
array([1, 2, 3, 4, 5])
2.使用arange()函數創建
arange()函數可以創建指定區間內的等差數組,與Python內置的range()函數類似,但是arange()返回的是ndarray類型:
<python>
>>> array3 = np.arange(1, 6)
>>> array3
array([1, 2, 3, 4, 5])
3.使用zeros()和ones()函數創建
這兩個函數分別可以創建指定大小的全0或全1數組:
<python>
>>> array4 = np.zeros(5)
>>> array4
array([0., 0., 0., 0., 0.])
>>> array5 = np.ones(5)
>>> array5
array([1., 1., 1., 1., 1.])
三、ndarray的基本屬性
創建ndarray後,可以使用以下屬性進行數據查看和處理:
1.shape
可以查看ndarray的尺寸,即每個軸上的元素個數:
<python>
>>> array1 = np.array([[1, 2], [3, 4], [5, 6]])
>>> array1.shape
(3, 2)
2.ndim
可以查看ndarray的維數:
<python>
>>> array1 = np.array([[1, 2], [3, 4], [5, 6]])
>>> array1.ndim
2
3.dtype
可以查看ndarray中元素的數據類型:
<python>
>>> array1 = np.array([[1, 2], [3, 4], [5, 6]])
>>> array1.dtype
dtype('int64')
四、ndarray的切片與索引
在使用ndarray時,常用的就是對其進行切片或索引,以下為常用的操作方法:
1.切片
切片表示對ndarray的選取,例如:
<python>
>>> array1 = np.array([[1, 2], [3, 4], [5, 6]])
>>> array1[1:3, :]
array([[3, 4], [5, 6]])
上述代碼表示選取ndarray從第2行(索引1)到第3行(索引2)的元素,同時在列方向上選取全列的元素。
2.索引
索引表示對ndarray的定位,例如:
<python>
>>> array1 = np.array([[1, 2], [3, 4], [5, 6]])
>>> array1[2, 1]
6
上述代碼表示選取ndarray的第3行第2列的元素。
五、ndarray的數學運算
numpy支持大量數學運算,以下為常用的運演算法則:
1.基本運算
可以對ndarray進行加、減、乘、除、冪等基本數學運算:
<python>
>>> array1 = np.array([1, 2, 3, 4])
>>> array2 = np.array([5, 6, 7, 8])
>>> array1 + array2
array([ 6, 8, 10, 12])
>>> array1 - array2
array([-4, -4, -4, -4])
>>> array1 * array2
array([ 5, 12, 21, 32])
>>> array2 / array1
array([5. , 3. , 2.33333333, 2. ])
>>> array2 ** 2
array([25, 36, 49, 64])
2.各種數學函數
numpy提供了很多各種數學函數,例如開方、log、sin、cos等,以下為示例代碼:
<python>
>>> array1 = np.array([1, 2, 3, 4])
# 開方運算
>>> np.sqrt(array1)
array([1. , 1.41421356, 1.73205081, 2. ])
# 對數運算
>>> np.log(array1)
array([0. , 0.69314718, 1.09861229, 1.38629436])
# sin運算
>>> np.sin(array1)
array([ 0.84147098, 0.90929743, 0.14112001, -0.7568025 ])
# cos運算
>>> np.cos(array1)
array([ 0.54030231, -0.41614684, -0.9899925 , -0.65364362])
六、ndarray的聚合運算
在數據處理過程中,經常需要將多維數組統計聚合,numpy提供了多種聚合方法。
1.sum函數
計算ndarray的總和:
<python>
>>> array1 = np.array([[1, 2], [3, 4], [5, 6]])
>>> array1.sum()
21
2.mean函數
計算ndarray的平均值:
<python>
>>> array1 = np.array([[1, 2], [3, 4], [5, 6]])
>>> array1.mean()
3.5
3.min和max函數
計算ndarray的最小值和最大值:
<python>
>>> array1 = np.array([[1, 2], [3, 4], [5, 6]])
>>> array1.min()
1
>>> array1.max()
6
4.std函數
計算ndarray的標準差:
<python>
>>> array1 = np.array([[1, 2], [3, 4], [5, 6]])
>>> array1.std()
1.707825127659933
七、結論
以上就是numpy中文手冊的基本介紹與操作方法,通過掌握這些內容,我們可以使用Python進行更加高效和精確的數據分析和科學計算。
原創文章,作者:CPEDH,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/370941.html