1.使用array函數創建數組
import numpy as np ndarray1 = np.array([1, 2, 3]) array([1, 2, 3]) ndarray2 = np.array(list('abcd')) array(['a', 'b', 'c', 'd'], dtype='<U1') ndarray3 = np.array([[1, 2], [3, 4]]) array([[1, 2], [3, 4]])
2.zeros和zeros_like創建數組
用於創建數組,數組元素默認值是0. 注意:zeros_like函數只是根據傳入的ndarray數組的shape來創建所有元素為0的數組,並不是拷貝源數組中的數據
ndarray1 = np.zeros(6) ndarray2 = np.zeros((2, 3)) ndarray3 = np.zeros_like(ndarray2) # 按照 ndarray2 的shape創建數組 print("數組類型:") print('ndarray1:', type(ndarray1)) print('ndarray2:', type(ndarray2)) print('ndarray3:', type(ndarray3))print("數組元素類型:") print('ndarray1:', ndarray1.dtype) print('ndarray2:', ndarray2.dtype) print('ndarray3:', ndarray3.dtype)print("數組形狀:") print('ndarray1:', ndarray1.shape) print('ndarray2:', ndarray2.shape) print('ndarray3:', ndarray3.shape) 輸出結果: 數組類型: ndarray1: <class 'numpy.ndarray'> ndarray2: <class 'numpy.ndarray'> ndarray3: <class 'numpy.ndarray'> 數組元素類型: ndarray1: float64 ndarray2: float64 ndarray3: float64 數組形狀: ndarray1: (6,) ndarray2: (2, 3) ndarray3: (2, 3)
3.ones和ones_like創建數組
與zero類似
# 創建數組,元素默認值是0 ndarray1 = np.ones(7) ndarray2 = np.ones((2, 3)) # 修改元素的值 ndarray2[0][1] = 4 ndarray3 = np.ones_like(ndarray2) # 按照 ndarray2 的shape創建數組 # 打印數組元素類型 print("數組類型:") print('ndarray1:', type(ndarray1)) print('ndarray2:', type(ndarray2)) print('ndarray3:', type(ndarray3))print("數組元素類型:") print('ndarray1:', ndarray1.dtype) print('ndarray2:', ndarray2.dtype) print('ndarray3:', ndarray3.dtype)print("數組形狀:") print('ndarray1:', ndarray1.shape) print('ndarray2:', ndarray2.shape) print('ndarray3:', ndarray3.shape) 輸出結果: 數組類型: ndarray1: <class 'numpy.ndarray'> ndarray2: <class 'numpy.ndarray'> ndarray3: <class 'numpy.ndarray'> 數組元素類型: ndarray1: float64 ndarray2: float64 ndarray3: float64 數組形狀: ndarray1: (7,) ndarray2: (2, 3) ndarray3: (2, 3)
4.empty和empty_like創建數組
用於創建空數組,空數據中的值並不為0,而是未初始化的隨機值.
ndarray1 = np.empty(5) ndarray2 = np.empty((2, 3)) ndarray3 = np.empty_like(ndarray1) # 打印數組元素類型 print("數組類型:") print('ndarray1:', type(ndarray1)) print('ndarray2:', type(ndarray2)) print('ndarray3:', type(ndarray3))print("數組元素類型:") print('ndarray1:', ndarray1.dtype) print('ndarray2:', ndarray2.dtype) print('ndarray3:', ndarray3.dtype)print("數組形狀:") print('ndarray1:', ndarray1.shape) print('ndarray2:', ndarray2.shape) print('ndarray3:', ndarray3.shape) 輸出結果: 數組類型: ndarray1: <class 'numpy.ndarray'> ndarray2: <class 'numpy.ndarray'> ndarray3: <class 'numpy.ndarray'> 數組元素類型: ndarray1: float64 ndarray2: float64 ndarray3: float64 數組形狀: ndarray1: (5,) ndarray2: (2, 3) ndarray3: (5,)
5.arange函數創建數組
arange函數是python內置函數range函數的數組版本
ndarray1 = np.arange(10) print("ndarray1:",ndarray1) ndarray2 = np.arange(10, 20) print("ndarray2:",ndarray2) ndarray3 = np.arange(10, 20, 2) print("ndarray3:",ndarray3) 輸出結果: ndarray1: [0 1 2 3 4 5 6 7 8 9] ndarray2: [10 11 12 13 14 15 16 17 18 19] ndarray3: [10 12 14 16 18]
6.eye創建對角矩陣數組
該函數用於創建一個N*N的矩陣,對角線為1,其余為0.
ndarray1 = np.eye(3) ndarray1 輸出結果: array([[ 1., 0., 0.], [ 0., 1., 0.], [ 0., 0., 1.]])