呀~博主是正在学习数据分析的一员,记录的是自己学习过程中总结的知识点,肯定有不完善的地方,如有问题可以私聊我改正,共同学习进步。希望大家都能保持学习的热情,坚持自己,不断超越自己!

前面已经介绍了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 #取出每一项

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