python:如何根据2dim内容将2dim矩阵转换为1dim

时间:2019-02-25 08:13:41

标签: python numpy

我有一个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)(包含封面数据)。

那么我该如何实现我的想法?我的意思是计算量少,速度快。 还是有解决此问题的另一种方法?

谢谢

1 个答案:

答案 0 :(得分:-1)

我已经解决了这个问题。

--onSuccess

如果有更好的方法,请与我分享。谢谢