numpy

numpy的索引和切片

z1 = np.arange(24).reshape(4,6)

[[ 0  1  2  3  4  5]
 [ 6  7  8  9 10 11]
 [12 13 14 15 16 17]
 [18 19 20 21 22 23]]

行操作

# 取行
print(z1[2])   # 中括号就是取行

# 连续取多行
print(z1[[1,2]])
print(z1[1:])

# 取不连续多行
print(z1[[1,3]])

列操作

# 取列
print(z1[:,1])

# 取连续多列
print(z1[:,3:])

# 取不连续多列
print(z1[:,[1,3,5]])

取行和列

# 取行和列的值  取第3行4列的值      这里注意我们在取值时用的都是索引,行和列都是从0开始, 而我们正常都是从1开始数行和列的
print(z1[2,3])


z2 = np.arange(100).reshape(10,10)
print(z2)
# 取多行和多列  取第3行到第6行  第2列到第5列的结果
print(z2[2:6,1:5])   # 取得是行和列交叉点得位置


# 取多个不相邻得值
# print(z2[[1,2],[2,4]])  # 分别取第2行的第3列  和 第3行的第5列的值   选出来的点就是(1,2)  (2,4)

print(z2[[6,7,8],[6,7,8]])  # 选出来的点是(6,6) (7,7) (8,8)
原文地址:https://www.cnblogs.com/yongyuandishen/p/14908290.html