天天看點

【python】numpy庫ndarray多元數組的建立方法:np.array(list/tuple)、arange, ones, zeros等詳解

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官方文檔詳解與執行個體