【发布时间】:2019-10-19 14:24:57
【问题描述】:
有没有简单的方法在 Python 中做到这一点?
例如我有:
x = np.array(['a', 'b', 'a', 'b', 'b', 'u'])
期望的结果:
[2, 3, 2, 3, 3, 1]
【问题讨论】:
-
即使您的问题已关闭,您也可以选择答案。我建议这样做,因为 np.unique 的相对较新的参数使答案比接受的副本更有效。
有没有简单的方法在 Python 中做到这一点?
例如我有:
x = np.array(['a', 'b', 'a', 'b', 'b', 'u'])
期望的结果:
[2, 3, 2, 3, 3, 1]
【问题讨论】:
使用np.unique 并启用return_counts 和return_inverse:
_, inverse, count = np.unique(x, return_inverse=True, return_count=True)
result = count[inverse]
【讨论】: