2024-06-16 09:09:53 发布
网友
我想将numpy数组中的任意整数转换为连续范围0…n,如下所示:
source: [2 3 4 5 4 3] translating [2 3 4 5] -> [0 1 2 3] target: [0 1 2 3 2 1]
必须有比以下更好的方法:
这是什么?在
IIUC您可以简单地使用^{}的可选参数return_inverse,如下-
return_inverse
np.unique(source,return_inverse=True)[1]
样本运行-
^{}是一种方法:
import pandas as pd lst = [2, 3, 4, 5, 4, 3] res = pd.factorize(lst, sort=True)[0] # [0 1 2 3 2 1]
注意:这将返回一个列表,而np.unique将始终返回一个np.ndarray。在
np.unique
np.ndarray
IIUC您可以简单地使用^{} 的可选参数
return_inverse
,如下-样本运行-
^{pr2}$^{} 是一种方法:
注意:这将返回一个列表,而
np.unique
将始终返回一个np.ndarray
。在相关问题 更多 >
编程相关推荐