文章目錄
- ndarray(別名array)
- 常用屬性
- 創建NumPy數組
- 使用array()函數
- 使用zeros()函數
- 使用ones()函數
- 使用empty()函數
- 使用arange()函數
- 注意
ndarray(別名array)
常用屬性
import numpy as np # Numpy工具包data = np.arange(12).reshape(3, 4) # 創建一個3行4列的數組
print(data)
print(type(data)) # 查看數組類型,輸出結果<class 'numpy.ndarray'>
print(data.ndim) # 數組維度的個數,2表二維數組
print(data.shape) # 數組的維度,輸出結果(3,4)表示3行4列
print(data.size) # 數組元素的個數,輸出結果12,表示總共有12個元素
print(data.dtype) # 數組元素的類型,輸出結果dtype('int 32')表示元素類型都是int32
print(data.itemsize) # 數組中每個元素的字節大小,輸出結果4,表示元素類型為int32的數組有4(32/8)個字節
輸出結果
創建NumPy數組
使用array()函數
import numpy as npdata1 = np.array([1, 2, 3])
print(data1)
輸出結果
[1 2 3]
data2 = np.array([[1, 2, 3], [4, 5, 6]])
print(data2)
輸出結果
[[1 2 3]
[4 5 6]]
使用zeros()函數
zeros()
函數創建的數組其元素值都為0
data3 = np.zeros((3, 4))
print(data3)
輸出結果
[[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]]
使用ones()函數
ones()
函數船艦的數組其元素值都為1
data4 = np.ones(12).reshape(4, 3)
print(data4)
輸出結果
[[1. 1. 1.]
[1. 1. 1.]
[1. 1. 1.]
[1. 1. 1.]]
使用empty()函數
empty()
函數只分配內存空間,其內元素都是隨機的,數據類型默認為float64
data5 = np.empty(3).reshape(3, 1)
print(data5)
輸出結果
[[1.33512376e-306]
[8.90104239e-307]
[9.34605716e-307]]
使用arange()函數
arange()
函數可以創建一個等差數組,功能類似于range()
,不過arange()
返回的結果是數組,而不是列表
data6 = np.arange(1, 99, 5)
print(data6)
輸出結果
[ 1 6 11 16 21 26 31 36 41 46 51 56 61 66 71 76 81 86 91 96]
注意
值得注意的是,部分數組元素后面會跟著一個小數點“ . ”
,而有些元素后面沒有,如“1.和1”
,這種現象的產生主要是因為元素的數據類型不同,;例如:float類型元素帶小數點,int元素則不帶
當然創建ndarray對象時,亦可顯式聲明數組元素類型
data7 = np.array([1, 2, 3, 4], int)
data8 = np.array([1, 2, 3, 4], float)
data9 = np.zeros((3, 4), dtype='float64')
data10 = np.zeros((3, 4), dtype='int32')
data7:
[1 2 3 4]
data8:
[1. 2. 3. 4.]
data9:
[[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]]
data10:
[[0 0 0 0]
[0 0 0 0]
[0 0 0 0]]