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,
posted @   dreampursuer  阅读(337)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示