ndarray數組的建立方法有
- 從Python中的清單、元組等類型建立ndarray數組
- 使用NumPy中**函數建立**ndarray數組,如:arange, ones, zeros等
- 從位元組流(raw bytes)中建立ndarray數組
- 從檔案中讀取特定格式,建立ndarray數組
1、從Python中的清單、元組等類型建立ndarray數組 當np.array()不指定dtype時,NumPy将根據資料情況關聯一個dtype類型
- x = np.array(list/tuple)
- x = np.array(list/tuple, dtype=np.float32) #指定資料的類型type
In []: import numpy as np
#從清單類型建立
In []: np.array([,,,])
Out[]: array([, , , ])
In []: x = np.array([,,,])
In []: x
Out[]: array([, , , ])
#從元組類型建立
In []: y = np.array((,,))
In []: y
Out[]: array([, , ])
#從清單和元組混合類型建立
In []: z = np.array(([,,],(,,)))
In []: z
Out[]:
array([[, , ],
[, , ]])
2、使用NumPy中函數建立ndarray數組,如:arange, ones, zeros等
- np.arange(n) :類似range()函數,傳回ndarray類型,元素從0到n‐1
In [10]: np.arange(5)
Out[10]: array([0, 1, 2, 3, 4])
- np.ones(shape) : 根據shape生成一個全1數組,shape是元組類型
In []: np.ones([,])
Out[]:
array([[ 1., 1.],
[ 1., 1.]])
- np.zeros(shape) :根據shape生成一個全0數組,shape是元組類型
In []: np.zeros([,]) #生成一個*維的全是的數組
Out[]:
array([[ 0., 0., 0.],
[ 0., 0., 0.]])
- np.full(shape,val) :根據shape生成一個數組,每個元素值都是val
In []: np.full([,],)
Out[]:
array([[5, 5, 5],
[5, 5, 5]])
- np.eye(n) : 建立一個正方的n*n機關矩陣,對角線為1,其餘為0
In []: np.eye()
Out[]:
array([[ 1., 0., 0., 0., 0.],
[ 0., 1., 0., 0., 0.],
[ 0., 0., 1., 0., 0.],
[ 0., 0., 0., 1., 0.],
[ 0., 0., 0., 0., 1.]])
- np.ones_like(a) :根據數組a的形狀生成一個全1數組
- np.zeros_like(a) : 根據數組a的形狀生成一個全0數組
- np.full_like(a,val) : 根據數組a的形狀生成一個數組,每個元素值都是val
In []: a = np.ones([,])
In []: np.ones_like(a)
Out[]:
array([[ 1., 1.],
[ 1., 1.]])
In []: np.zeros_like(a)
Out[]:
array([[ 0., 0.],
[ 0., 0.]])
In []: np.full_like(a,)
Out[]:
array([[ 3., 3.],
[ 3., 3.]])
3、使用NumPy中其他函數建立ndarray數組
- np.linspace() :根據起止資料等間距地填充資料,形成數組,即相同間隔采樣
詳見之前部落格:【python】numpy庫linspace相同間隔采樣 詳解
- np.concatenate() :将兩個或多個數組合并成一個新的數組
詳見之前部落格:【python】numpy庫數組拼接np.concatenate官方文檔詳解與執行個體