numpy庫的認識以及數組的創建


numpy庫

numpy是Python數值計算最重要的基礎包。大多數提供科學計算的包都是用NumPy的數組作為構建基礎。numpy十分高效,基於NumPy的算法要比純Python快10到100倍(甚至更快),並且使用的內存更少。

NumPy的ndarray

初步用法

導入庫

import numpy as np#常規用法

生成隨機矩陣

import numpy as np

data=np.random.randn(2,3)#生成一個兩行三列的隨機數組
print(data)

簡單運算

相乘

import numpy as np

data=np.random.randn(2,3)#生成一個兩行三列的隨機數組
print(data)
data=data*10
print(data)

相加

import numpy as np

data=np.random.randn(2,3)#生成一個兩行三列的隨機數組
print(data)
data=data+data
print(data)

ndarray對象

ndarray是一個N維的數組對象,它是一個大數據集的容器,注意的是它其中元素的類型必須相同。
除此之外它具有兩個屬性,分別是shape和dtype。

import numpy as np

data=np.random.randn(2,3)#生成一個兩行三列的隨機數組
print(data.shape)#幾行幾列
print(data.dtype)#集合中的數據類型

創建ndarray

1.使用列表

>>> import numpy as np
>>> data1=[1,2,3,4,5]
>>> arr1=np.array(data1)
>>> arr1
array([1, 2, 3, 4, 5])

2.列表嵌套

>>> data2=[[1,2,3,4],[5,6,7,8]]
>>> arr2=np.array(data)
>>> arr2=np.array(data2)
>>> arr2
array([[1, 2, 3, 4],
       [5, 6, 7, 8]])

對應的維度

>>> arr2.ndim
2
>>> arr2.shape
(2, 4)

3.創建空數組

>>> import numpy as np
>>> np.zeros(10)#創建一維數組
array([0., 0., 0., 0., 0., 0., 0., 0., 0., 0.])
>>> np.zeros((3,6))#創建多維數組,三行六列
array([[0., 0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0., 0.]])

4.創建純一數組

>>> np.ones(10)
array([1., 1., 1., 1., 1., 1., 1., 1., 1., 1.])
>>> np.ones((3,6))
array([[1., 1., 1., 1., 1., 1.],
       [1., 1., 1., 1., 1., 1.],
       [1., 1., 1., 1., 1., 1.]])

5.使用empty創建數組

>>> np.empty((2,3,2))
array([[[7.70742408e-322, 0.00000000e+000],
        [0.00000000e+000, 0.00000000e+000],
        [8.97323639e-315, 8.97323686e-315]],

       [[8.97132801e-315, 8.97321639e-315],
        [0.00000000e+000, 0.00000000e+000],
        [0.00000000e+000, 0.00000000e+000]]])

注意:認為np.empty會返回全0數組的想法是不安全的。很多情況下(如前所示),它返回的都是一些未初始化的垃圾值。

6.使用arange創建

arange是Python內置函數range的數組版:

>>> np.arange(15)
array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14])


免責聲明!

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



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