Numpy學習筆記

2022-03-25 22:28:52 字數 2196 閱讀 6839

什麼是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...