我是新手使用熊猫并且有一个非常基本的问题。
将数字变量重新编码为分类变量的最佳方法是什么?
例如,我有一个数字变量x,范围从1-1000。我想创建一个包含五个类别的新分类变量。我尝试了以下但是看起来很多打字(特别是如果我想创建10-20个类别)。是否有一些标准或优化的方法来实现相同的目标?
df_all['x_group'] = '0 pound'
df_all['x_group'][(df_all['x'] <=149)] = '0-1 pounds'
df_all['x_group'][(df_all['x'] >149) & (df_all['x'] <=249)] = '2 pounds'
df_all['x_group'][(df_all['x'] >249) & (df_all['x'] <=349)] = '3 pounds'
df_all['x_group'][(df_all['x'] >349) & (df_all['x'] <=449)] = '4 pounds'
df_all['x_group'][(df_all['x'] >449)] = '5 pounds'
答案 0 :(得分:0)
您可以将逻辑编写为函数,然后使用applymap()将函数应用于数据框。此外,请注意'0磅'应该读作'0磅'。
答案 1 :(得分:0)
实际上我发现我可以使用pd.cut将它们放入垃圾箱。键入的次数要少得多。