import numpy as np
a=np.array([1
,2,3
,4])
b=np.array((5
,6,7
,8))
c=np.array([[
1,2,
3,4]
,[4,
5,6,
7],[
7,8,
9,10]
])
print
(c)array([[
1,2,
3,4]
,[4,
5,6,
7],[
7,8,
9,10]
])
a.shape #(4,)
b.shape #(4,)
c.shape #(3,4) 第0軸表示行,3表示3行,第1軸表示列,4表示4列
#通過修改shape屬性的值來修改陣列每個軸的長度
c.shape=4,
3print
(c)'''
輸出為:
array([[ 1, 2, 3],
[ 4, 4, 5],
[ 6, 7, 7],
[ 8, 9, 10]])
'''c.shape=2,
-1#設定某軸為-1時,將自動計算此軸的長度
c'''
輸出為:
array([[ 1, 2, 3, 4, 4, 5],
[ 6, 7, 7, 8, 9, 10]])
'''
d=a.reshape((2
,2))
d'''
array([[1, 2],
[3, 4]])
'''a
'''array([1, 2, 3, 4])
'''#注意 a和d共享陣列儲存空間,修改其中任意乙個另乙個也被改變a[1
]=100a
'''array([ 1, 100, 3, 4])
'''d
'''array([[ 1, 100],
[ 3, 4]])
'''
c.dtype
#dtype('int32')
af=np.array([1
,2,3
,4],dtype=
float
)af.dtype
#dtype('float64')
np.arange(0,
1,0.1)
#array([0. , 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9])
np.linspace(0,
1,10)
'''array([0. , 0.11111111, 0.22222222, 0.33333333, 0.44444444,
0.55555556, 0.66666667, 0.77777778, 0.88888889, 1. ])
'''
np.logspace(0,
2,5)
'''array([ 1. , 3.16227766, 10. , 31.6227766 ,
100. ])
'''
注意:基數可以通過base來指定,預設是10
a=np.arange(10)
a#array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])a[5
]#獲取陣列中的某乙個元素,從0開始
# 5a[3:
5]#利用切片獲取陣列的一部分,包括a[3],不包括a[5]
# array([3, 4])a[:
5]#省略開始元素,表示從a[0]開始
# array([0, 1, 2, 3, 4])a[:
-1]#從a[0]開始到最後乙個元素,不包括最後乙個元素
# array([0, 1, 2, 3, 4, 5, 6, 7, 8])a[1
:-1:
2]#2表示步長為2,
#array([1, 3, 5, 7])a[:
:-1]
#省略開頭和結尾,步長為-1,表示陣列頭尾顛倒
#array([9, 8, 7, 6, 5, 4, 3, 2, 1, 0])a[5
:1:-
2]#步長為負數,開始下標大於結束下標
#array([5, 3])
注意:通過上述方法得到的陣列是原陣列的乙個檢視,共享同乙個資料儲存空間
x=np.arange(10,
1,-1
)x#array([10, 9, 8, 7, 6, 5, 4, 3, 2])x[[
3,3,
1,8]
]#獲取xzhon 的下標為3 3 1 8的4個元素,組成乙個新的陣列
#array([7, 7, 9, 2])
例如2維陣列,第0軸表示行,第1軸表示列
a=np.arange(0,
60,10)
.reshape(-1
,1)+np.arange(0,
6)a'''
array([[ 0, 1, 2, 3, 4, 5],
[10, 11, 12, 13, 14, 15],
[20, 21, 22, 23, 24, 25],
[30, 31, 32, 33, 34, 35],
[40, 41, 42, 43, 44, 45],
[50, 51, 52, 53, 54, 55]])
'''
多維陣列的選取:
a[0,
3:5]
#逗號表示分隔開不同的維度,表示第0行,第3列到第5列數字(不包括第5列)
#array([3, 4])a[4
:,4:
]'''
array([[44, 45],
[54, 55]])
'''a[:,
2]#第3列的數字
#array([ 2, 12, 22, 32, 42, 52])a[2
::2,
::2]
#第3行開始,每隔2行取數,列從第一列到最後一列每隔2列取數
'''array([[20, 22, 24],
[40, 42, 44]])
'''
a[(0
,1,2
,3),
(1,2
,3,4
)]#(0,1,2,3)表示第0軸,(1,2,3,4)表示第1軸
#array([ 1, 12, 23, 34])
mask=np.array([1
,0,1
,0,0
,1],dtype=np.
bool
)a[mask,2]
#第0軸是布林陣列,表示第1,3,5行取數,第1軸表示取第3列數字
#array([ 2, 22, 52])
總結:
本文總結了numpy中的基本操作,方便後序查詢使用;
python Numpy基本操作
python 幾天不用就覺得生疏,因此記錄一下 便於下次使用 import numpy as np 生成方式 np.array np.arange np.linspace 隨機數 np.random.random 2,3 np.random.randint 10,size np.random.ran...
Python Numpy安裝與基本操作
numpy numeric python 擴充套件包提供了陣列功能,以及對資料進行快速處理的函式。numpy 通常與 scipy scientific python 和 matplotlib 繪相簿 一起使用。numpy基本操作例項 pip install numpy 通過pip安裝numpy im...
python numpy相關操作
array np.array 1,2,3 2,3,4 print array print array.shape print array.size a np.array 2,3,4 1,2,3 dtype np.int print a,a.dtype,sep n a np.zeros 3,4 a1 ...