什麼是numpy
numpy安裝:在shell上使用以下命令:pip install numpy
。
numpy基礎知識
經典例子
>>> import numpy as np
>>> a = np.arange(15).reshape(3, 5)
>>> a
array([[ 0, 1, 2, 3, 4],
[ 5, 6, 7, 8, 9],
[10, 11, 12, 13, 14]])
>>> a.shape
(3, 5)
>>> a.ndim
2>>> a.dtype.name
'int64'
>>> a.itemsize
8>>> a.size
15>>> type(a)
>>> b = np.array([6, 7, 8])
>>> b
array([6, 7, 8])
>>> type(b)
ndarray陣列建立方法
陣列的型別也可以在建立時明確指定:
利用numpy中的函式建立特定的ndarray陣列,shape是元組型別
函式說明
np.arange(n)
使用和range()一樣,型別為ndarray
np.ones(shape)
建立乙個全1陣列
np.zeros(shape)
建立乙個全0陣列
np.full(shape,val)
建立乙個全val陣列
np.eye(n)
建立乙個正方形n*n單位矩陣,對角線為1,其餘為0
用已知陣列形狀來生成特定值陣列,已知陣列a
函式說明
np.ones_like(a)
生成陣列a形狀的全1陣列
np.zeros_like(a)
生成陣列a形狀的全0陣列
np.full_like(a,val)
生成陣列a形狀的全val陣列
其他建立陣列方法
函式說明
np.linspace()
根據資料等距填充到陣列
np.concatenate()
將若干個陣列合併成乙個新的陣列
## np.linspace()示例
d = np.linspace(0,10,3) #第乙個值為起始值,第二個值為結束值,第三個值為元素個數
#d陣列為: [ 0. 5. 10.]
d = np.linspace((10,10,10),(0,0,0),3)#第乙個值為起始值,第二個值為結束值,第三個值為元素個數,這裡把一維陣列看作乙個元素比較好理解
[[10. 10. 10.]
[ 5. 5. 5.]
[ 0. 0. 0.]]
#注意:無論初始值和結束值是幾維,這兩個值形狀一定要對應好,且兩個值中的每個維度的所有項的形狀相同
陣列的維度變換
方法說明
.reshape(shape)
不改變陣列元素,返回乙個shape形狀的陣列,原陣列不變
.resize(shape)
同上,但是是修改了原陣列
.swapaxes(ar1,ar2)
將陣列n各維度中的兩個維度進行調換
.flatten()
對陣列降維,返回一維陣列,原陣列不變
陣列的型別變換
陣列向列表轉換
將乙個陣列分成幾個較小的陣列
陣列運算
陣列常見的幾種值
方法說明
array.mean()
陣列所有元素的算術平均值
array.max()
陣列所有元素的最大值
array.min()
陣列所有元素的最小值
**axis
a = [[[1 2 3 4][4 3 2 1]]
[[1 2 3 4][4 3 2 1]]]
a.shape = (2, 2, 4)#即從裡到外共nol=3層
#a.sum(axis=0)和a.sum(axis=-3)結果相同
如上圖所示有3層,給上面三層編號n——從左到右分別是0,1,2;這裡的n和上述a.sum(axis=n) 一致。 Numpy學習筆記
測試檔案裡的資料排列型別最好是有規律的,不可以隨便,否則將發生一些錯誤 genfromtxt函式 genfromtxt函式建立陣列 資料 genfromtxt主要執行兩個迴圈運算。第乙個迴圈將檔案的每一行轉換成字串序列。第二個迴圈將每個字串序列轉換為相應的資料型別。genfromtxt能夠考慮缺失的...
numpy學習筆記
1 array.ndim 用來輸出陣列的維度 2 array.shape 用來輸出陣列的形狀 3 arry.size 用來輸出陣列的大小見jupyter notebook的numpy function list 生成函式基本運算 直接用陣列的相加減乘除。也就是相對應的元素間的作用。關係運算 陣列元素...
NumPy學習筆記
example np.version np.array 1,2,3 4,5,6 np.zeros 3 3 np.ones 2 3,4 np.eye 3 np.range 5 0,1,2,3,4 np.random.rand 2,3 np.random.randint 5,size 2 3 value...