1. 程式人生 > 其它 >python資料分析-numpy模組基礎知識(3)

python資料分析-numpy模組基礎知識(3)

前面已經介紹了numpy的一些基礎知識: numpy模組基礎知識(1) numpy模組基礎知識(2)

#今天這一篇文章主要介紹的是array的索引以及array的迭代# 首先,注意索引是從0開始的,存在第0行第0列 array[m,n] 表示提取第m行n列的元素,符號“:”則類似於python列表中的切片功能,“ 左閉右開

  1. 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]
  1. 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 #取出每一項

碼字不易,如果覺得對你有幫助的話就點個贊加關注唄,互相學習交流,謝謝~