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 #取出每一项

码字不易,如果觉得对你有帮助的话就点个赞加关注呗,互相学习交流,谢谢~

 

posted on 2021-07-02 21:32  BabyGo000  阅读(65)  评论(0)    收藏  举报