自定义标签映射熊猫



我有一个数据集,看起来像这样:

ID CD
1  70
2  51
3  54
4  55
5  57
6  14

我想将这些标签映射到类似70->1,(51,54,55(->2,57->3,否则为4。最终的数据集看起来像这样:

ID CD CD_New
1  70 1
2  51 2
3  54 2
4  55 2
5  57 3
6  14 4

如何在熊猫身上做到这一点?

使用np.select

import numpy as np
df = pd.read_clipboard()
conditions = [df['CD']==70, df['CD'].isin([51,54,55]), df['CD']==57]
choices = [1,2,3]
df['CD_New'] = np.select(conditions, choices, default=4)
df

结果:

ID  CD  CD_New
0   1   70  1
1   2   51  2
2   3   54  2
3   4   55  2
4   5   57  3
5   6   14  4

最新更新