一、創建數組
在python中創建數組最簡單的辦法就是使用array函數。它接受一切序列型的對象,然后產生一個含有傳入數據的numpy數組。其中,嵌套序列(比如由一組等長列表組成的列表)會被轉換為一個多維數組。
1、array函數:
numpy.array(object, dtype = None, copy = True, order = None, subok = False ,ndmin = 0)
- object 數組或嵌套的數列
- dtype 數組元素的數據類型,可選
- copy 對象是否需要復制,可選
- order 創建數組的樣式,C為行方向,F為列方向,A為任意方向(默認)
- subok 默認返回一個與基類類型一致的數組
- ndmin 指定生成數組的最小維度
1 #將列表轉換為數組 2 import numpy as np 3 a = [1, 2, 3, 4] #創建列表 4 b = np.array(a) #將列表轉換為數組 5 #這樣就創建完成了一個一維數組 b[1,2,3,4]
1 #直接創建一維數組 2 import numpy as np 3 a = np.array([1, 2, 3, 4])
1 #創建二維數組 2 import numpy as np 3 b = np.arry([ [1, 2, 3], [4, 5, 6], [7, 8, 9] ] )
2、zeros和ones分別可以創建指定長度、形狀的全0或全1數組
1 improt numpy as np 2 np.zeros(3) #輸出結果為[0., 0., 0.] 3 4 np.ones(3) #輸出結果為[1., 1., 1.] 5 6 np.zeros(3,3) 7 '''輸出結果為[[0., 0., 0.] 8 [0., 0., 0.] 9 [0., 0., 0.]] '''
3、創建隨機數組
1 improt numpy as np 2 np.random.rand(10, 10) #創建指定形狀的數組(范圍在0,1之間) 3 np.random.uniform(0,100) #創建指定范圍內的一個數 4 np.random.randint(0, 100) #創建指定范圍內的一個整數 5 np.random.normal(1.7, 0.1, (2, 3)0 #給定均值/標准差/維度的正態分布
4、arange函數:
1 np.arange(start, stop, step, dtype = None)
根據start(默認為0)和stop指定的范圍以及step(默認為1)生成一個數組
import numpy as np a = np.arange(0, 10, 1) b = np.arange(10)
a與b相同為array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
5、數組屬性
- b.size 數組元素個數
- b.shape 數組形狀
- b.ndim 數組維度
- b.dtype 數組元素類型
- b.ltemsize 數組元素字節大小
6、數組索引和切片
import numpy as np #先定義一個一維數組[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] a = np.arange(10) >>>a[5]
5
>>>a[2:5]
array([2, 3, 4])
7、基本數組統計方法
可以通過數組上的一組數學函數對整個數組或某個軸向的數據進行統計計算
- sum 對數組中全部或某軸向的元素求和。零長度數組的sum為0
- mean 算數平均數。零長度數組的mean為NaN
- std,var 分別為標准差和方差,自由度可調(默認為n)
- max,min 最大值和最小值
- argmin, argmax 最大和最小元素的索引
- cumsum 所有元素的累加
- cumprod 所有元素的累積