假设有两个数组a和b,分别为:
a = [[1,2],[3,4],[5,6]] b = [[True,False],[False,True],[True,True]]
现在需要按照行对这两个数组进行组合。即对于第一行,如果b中对应位置为True,则选取a中该位置的元素。最终得到的数组c应为:
c = [[1,4],[5,6]]
其中,c的第一行由a的第一行和b的第二列组合而成,c的第二行由a的第三行和b的第一、二列组合而成。
以下是解决方法的Python代码实现:
import numpy as np a = np.array([[1,2],[3,4],[5,6]]) b = np.array([[True,False],[False,True],[True,True]]) c = a[:, b].tolist() print(c)
下一篇:按行对数组排序