【发布时间】:2021-09-17 22:11:35
【问题描述】:
所以我有某种数据框,其中一列的值范围从 139 到 150(值重复的行)。如何创建新列,它将根据提到的列分配序数值?例如,139 -> 0、140 -> 1、...、150 -> 10
UPD:Mozway 的回答很合适,谢谢!
【问题讨论】:
-
发布一些代码来演示您在哪里遇到了问题?
-
使用字典?
'139': '0'等等 -
df.groupby('x').ngroup()或df.x.astype('category').cat.codes -
鉴于这些是连续块减法中的数字,因为@mozway suggests 似乎最合理。假设您尝试将 any 分类转换为序数值,标准方法是 factorize
df['new col'] = pd.factorize(df['col'])[0] -
啊。为什么@mozway 的回答不起作用?