呀~博主是正在学习数据分析的一员,记录的是自己学习过程中总结的知识点,肯定有不完善的地方,如有问题可以私聊我改正,共同学习进步。希望大家都能保持学习的热情,坚持自己,不断超越自己!
前面已经介绍了numpy的一些基础知识:
numpy模块基础知识(1)numpy模块基础知识(2)
#今天这一篇文章主要介绍的是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 #取出每一项
码字不易,如果觉得对你有帮助的话就点个赞加关注呗,互相学习交流,谢谢~