我正在实现一个决策算法。在daily_choices
数组中,每天有两种水果可供选择,例如:
daily_choices = np.array([['apple','orange'],['strawberry','orange'],['watermelon','apple']])
现在我有一张单子,上面有我每天要选的水果:
decision = [0,1,0]
我知道一些基本的切片,比如daily_choices[:,0]
,意思是把第一列切片出来,daily_choices[:,1]
意思是把第二列切片出来。你知道吗
我想知道是否有任何方法可以像下面这样将第一行中的第一列、第二行中的第二列、第三行中的第一列进行切片
Input => daily_choices[:,[0,1,0]]
Output => ['apple', 'orange', 'watermelon']
然而,它并没有给我想要的结果
我知道我可以通过使用zip
和loop
达到我想要的结果
daily_decision
daily_decision = []
for choices, index in zip(daily_choices, decision):
daily_decision.append(choices[index])
daily_decision
但我想知道是否有可能在一条线上完成。你知道吗
使用列表理解
使用numpy
这也可以用NumPys Integer Array Indexing来解决:
纯粹使用
numpy
:输出:
相关问题 更多 >
编程相关推荐