numpy學習之創建數組


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.]])

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM