我有一个numpy数组
X = [[1,2], [3,4], [5,6], [1,2], [5,6]]我想要一个numpy数组Y = [1, 2, 3, 1, 3],其中[1,2]替换为1,[3,4]替换为2,依此类推。这是一个非常大的(想想数百万) X。
直觉是Y[X == [1,2]] = 1。但这并不管用。
发布于 2017-09-08 07:56:05
直觉就是
Y[X == [1,2]] = 1__。但这并不管用。
下面是如何使其工作的方法:
Y = np.empty(len(X), dtype=np.int)
Y[np.all(X == [1, 2], 1)] = 1要处理所有可能的值:
s = set(map(tuple, X))
r = np.arange(1, len(s) + 1) # or assign whatever values you want
cond = [np.all(X == v, 1) for v in s]
Y = np.dot(r, cond)https://stackoverflow.com/questions/46101296
复制相似问题