【发布时间】:2018-01-22 11:05:11
【问题描述】:
我有一个numpy vector 和一个numpy array。
我需要从矩阵中的每一行中取出小于(或等于)向量中相应行的前 N 个(比如说 3 个)值。
所以如果这是我的向量:
7,
9,
22,
38,
6,
15
这是我的矩阵:
[[ 20., 9., 7., 5., None, None],
[ 33., 21., 18., 9., 8., 7.],
[ 31., 21., 13., 12., 4., 0.],
[ 36., 18., 11., 7., 7., 2.],
[ 20., 14., 10., 6., 6., 3.],
[ 14., 14., 13., 11., 5., 5.]]
输出应该是:
[[7,5,None],
[9,8,7],
[21,13,12],
[36,18,11],
[6,6,3],
14,14,13]]
有没有什么有效的方法可以用面具或其他东西来做到这一点,没有丑陋的for 循环?
任何帮助将不胜感激!
【问题讨论】:
-
是否总是按行降序排列?
-
好点,就我而言,是的。而且
Nones 总是会出现在最后。
标签: python arrays numpy matrix mask