"""
整数数组索引。
一维。
二维。
"""
import numpy as np
x = np.arange(48).reshape(6, 8)
"""
[[ 0 1 2 3 4 5 6 7]
[ 8 9 10 11 12 13 14 15]
[16 17 18 19 20 21 22 23]
[24 25 26 27 28 29 30 31]
[32 33 34 35 36 37 38 39]
[40 41 42 43 44 45 46 47]]
"""
# 先看一维
y = x[[0, 1, 2, 3], [4, 5, 6, 7]] # [ 4 13 22 31]
# 很明显,取得4数的索引坐标点分别是:
# 04,15,26,37
# 换二维
rows = np.array([[0, 1], [2, 3]])
cols = np.array([[4, 5], [6, 7]])
y = x[rows, cols]
# 整数数组索引,同时规定形状
# 可按一维整数数组索引做,最后改形状
"""
[[ 4 13]
[22 31]]
"""
# 等同于
y = x[[[0, 1], [2, 3]], [[4, 5], [6, 7]]]
"""
[[ 4 13]
[22 31]]
"""
# 先取出4、13、22、31这4个数,再看形状:
# row和cols都是两行两列,那就把这4个数搞成两行两列,相当于:
y = np.array([4, 13, 22, 31]).reshape(2, 2)
Python数据分析基础:numpy接收两个二维整数数组参数做切片?
最新推荐文章于 2024-08-26 18:56:03 发布