【发布时间】:2021-12-12 09:00:07
【问题描述】:
我有一个矩阵,每行有几个不同的值:
arr1 = np.array([[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]])
arr2 = np.array([["A"],["B"],["C"]])
这会产生以下矩阵:
array([[ 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]])
array([['A'],
['B'],
['C']])
A 代表前 3 列,B 代表接下来的 3 列,C 代表最后 3 列。所以我想要的结果是:
array([[1,2,3],
[13,14,15],
[25,26,27]])
我正在考虑将 arr2 转换为掩码数组,但我什至不确定如何执行此操作。如果是 1darray,我可以这样做:
arr[0,1,2]
但对于 2darray,我什至不知道如何像这样屏蔽。我试过这个并得到错误:
arr[[0,1,2],[3,4,5],[6,7,8]]
最好的方法是什么?
谢谢。
【问题讨论】:
标签: python arrays numpy matrix