python資料分析-numpy模組基礎知識(3)
阿新 • • 發佈:2021-07-02
#今天這一篇文章主要介紹的是array的索引以及array的迭代#
首先,注意索引是從0開始的,存在第0行第0列
array[m,n]
表示提取第m行n列的元素,符號“:”則類似於python列表中的切片功能,“ 左閉右開
”
-
array的索引
①提取單行或者單列, array[m:]
以及 array[:n]
分別表示提取第m行,第n列
import numpy as np
A=np.arange(3,15).reshape((3,4))
print(A)
print(A[1,:]) #表示第1行整行,或者直接A[1]也行
print(A[:,1]) #第1列整列
執行結果:
[[ 3 4 5 6]
[ 7 8 9 10]
[11 12 13 14]]
[ 7 8 9 10]
[ 4 8 12]
②利用array[m,n] 提取第m行n列的元素
import numpy as np
A=np.arange(3,15).reshape((3,4))
print(A)
print(A[2,1]) #第2行第1列的數
執行結果:
[[ 3 4 5 6]
[ 7 8 9 10]
[11 12 13 14]]
12
③運用到切片符號 :
import numpy as np
A=np.arange(3,15).reshape((3,4))
print(A)
print(A[1,1:2])#1:2左要取右不用取,取第一行第一列的數,為8
print(A[1,1:3])#取第1行第1,2列的數,為8,9
執行結果:
[[ 3 4 5 6]
[ 7 8 9 10]
[11 12 13 14]]
[8]
[8 9]
-
array的迭代
主要運用 for迴圈
語句對array進行迭代,意思就是取出每一行,每一列或者每個元素。 ①迭代矩陣的行,直接對原矩陣進行for遍歷每一行
import numpy as np
A=np.arange(3,15).reshape((3,4))
print(A)
for row in A:
print(row) #對原矩陣迭代行
執行結果:
[[ 3 4 5 6]
[ 7 8 9 10]
[11 12 13 14]] #原矩陣
[3 4 5 6]
[ 7 8 9 10]
[11 12 13 14] #取出每一行
②迭代矩陣的列,要先將原矩陣進行轉置,使得行變列,列變行,這樣再進行遍歷取出的就是原矩陣的列啦。
import numpy as np A=np.arange(3,15).reshape((3,4)) print(A) for column in A.T:#先對原矩陣進行轉置(行變列,列變行了) print(column)
執行結果:
[[ 3 4 5 6] [ 7 8 9 10] [11 12 13 14]] #原矩陣 [ 3 7 11] [ 4 8 12] [ 5 9 13] [ 6 10 14] #取出每一列
③迭代每一項,先利用 flatten()
將原矩陣變成一維陣列再進行遍歷
import numpy as np A=np.arange(3,15).reshape((3,4)) print(A) print(A.flatten()) #打印出一維陣列 for item in A.flatten(): print(item) #對原矩陣迭代每一項
執行結果:
[[ 3 4 5 6] [ 7 8 9 10] [11 12 13 14]] #原矩陣 [ 3 4 5 6 7 8 9 10 11 12 13 14] #利用flatten()變成一維陣列 3 4 5 6 7 8 9 10 11 12 13 14 #取出每一項
碼字不易,如果覺得對你有幫助的話就點個贊加關注唄,互相學習交流,謝謝~