我有一个2dim numpy数组,它的内容就像(-1,0,1)
和(0,1,2,3,4)
的组合格式
现在我想将不同的组合分配到1dim矩阵中。例如,将[-1,0]
传输到1 [-1,1]
传输到2,最终结果将是1-15个1维矩阵。
由于我的数据很大,所以对于低效率的循环来说是不合适的。因此,我想np.where
实现该功能。
假设2维数据表示为a
,形状为(100,2)
import itertools
import numpy as np
dic = set(itertools.product([-1, 0, 1], [0, 1, 2, 3, 4]))
for key,value in enumerate():
a[np.where(a==[-1,0])[0]]=key
,但是where的输出将匹配两次,但有一个判别,并且赋值将覆盖前面的数据。并且结果仍然是(100,0)
(包含封面数据)。
那么我该如何实现我的想法?我的意思是计算量少,速度快。 还是有解决此问题的另一种方法?
谢谢
答案 0 :(得分:-1)
我已经解决了这个问题。
--onSuccess
如果有更好的方法,请与我分享。谢谢