首页 > 解决方案 > 如何使用熊猫的 loc?

问题描述

我有这段代码可以将年龄从数字数据替换为分类数据。我正在尝试这样做,但它不起作用。有谁能够帮我?

for df in treino_teste:
    df.loc[df['Age'] <= 13, 'Age'] = 0,
    df.loc[(df['Age'] > 13) & (df['Age'] <= 18), 'Age'] = 1,
    df.loc[(df['Age'] > 18) & (df['Age'] <= 25), 'Age'] = 2,
    df.loc[(df['Age'] > 25) & (df['Age'] <= 35), 'Age'] = 3,
    df.loc[(df['Age'] > 35) & (df['Age'] <= 60), 'Age'] = 4,
    df.loc[df['Age'] > 60, 'Age'] = 5

错误:

错误图片

标签: pythonpandasdataframepandas-loc

解决方案


您可以使用 numpy.digitize()

bins = [0,13,18,25,35,60,100]
df['AgeC'] =numpy.digitize(df['Age'],bins)

推荐阅读