我有一个10行5列的np数组。我还有一个20行1列的数组。
a = [[15,2,1,0,0],
[8,12,0,0,0],
[4,12,10,9,0],
[3,0,0,0,0],
[19,7,0,0,0],
[13,15,4,0,0],
[0,0,0,0,0],
[11,4,0,0,0],
[7,0,0,0,0,0],
[10,6,8,4,0]]
b = [8,1,6,4,9,3,5,6,11,14,5,4,33,7,9,15,7,3,19,3]
对于数组a,一旦一行中的值为零,之后的任何值都将为零。
我想循环遍历a中的每一行,找到B中的第n个值,然后将其存储在一个名为c的10 x5数组中。
例如,c中的前两行将是:
[[9,1,8,0,0],
[6,4,0,0,0]]
谢谢大家!
1条答案
按热度按时间b1zrtrql1#
您可以使用索引:
numpy.where
更短的替代方案(但如果有很多零,效率可能会降低):输出:
可重现输入:
计时
在(10000,5)上,大部分为非零
On(10000,10005),只有前5列为非零