numpy的索引-【老鱼学numpy】

简单的索引值

import numpy as np
a = np.arange(3, 15).reshape(3, 4)
print("a=")
print(a) print("第2行的数据:", a[2])
print("第2行第3列的数据:", a[2][3])

输出为:

a=
[[ 3 4 5 6]
[ 7 8 9 10]
[11 12 13 14]]
第2行的数据: [11 12 13 14]
第2行第3列的数据: 14

对于获取第2行第3列的数据,我们还可以用如下的方式来获取:

print("第2行第3列的数据:", a[2, 3])

数据切片

用冒号索引可以对数据进行切片。

import numpy as np
a = np.arange(3, 15).reshape(3, 4)
print("a=")
print(a) print("第2行所有数:", a[2, :])

输出为:

a=
[[ 3 4 5 6]
[ 7 8 9 10]
[11 12 13 14]]
第2行所有数: [11 12 13 14]

上面用冒号来对数据选择进行了占位。

如果我们想要获得第1列的所有数:

import numpy as np
a = np.arange(3, 15).reshape(3, 4)
print("a=")
print(a) print("第1列所有数:", a[:, 1])

输出为第1列的所有数:

a=
[[ 3 4 5 6]
[ 7 8 9 10]
[11 12 13 14]]
第1列所有数: [ 4 8 12]

获取第1行从第2列到第4列的值:

import numpy as np
a = np.arange(3, 15).reshape(3, 4)
print("a=")
print(a) print("第1行从第2列到第4列的值:", a[1, 2:4])

输出为:

a=
[[ 3 4 5 6]
[ 7 8 9 10]
[11 12 13 14]]
第1行从第1列到第2列的值: [ 9 10]

把数据变平

把数据变平的意思是:如果是多维数组,则把数组中的每个元素平铺开来,变成一维数据,这样便于用索引值进行访问。

例如:

import numpy as np
a = np.arange(3, 15).reshape(3, 4)
print("a=")
print(a)
print("flatten=", a.flatten())

输出:

a=
[[ 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]

也可以用a.flat返回一个迭代器来变量其中的元素:

import numpy as np
a = np.arange(3, 15).reshape(3, 4)
print("a=")
print(a) for v in a.flat:
print(v, end=',')

输出为:

a=
[[ 3 4 5 6]
[ 7 8 9 10]
[11 12 13 14]]
3,4,5,6,7,8,9,10,11,12,13,14,
上一篇:java基础—java读取properties文件


下一篇:分析业务模型-类图(Class Diagram)