如何在现有数据框中创建新类别?

时间:2017-10-19 18:59:20

标签: pandas data-science

我的数据集的列名称总计为付款,其中包括从100美元到1000美元的付款,有些付款是100.05美元,102美元或104.05美元,这使得它更加困难。如果该行例如$ 97,那么我想创建一个类别低于100美元或100到200之间的列。

我编写了类似的东西;

Code Screenshot

但输出如下,所有行都说800到900之间;

Output Screenshot

请支持这些人。

1 个答案:

答案 0 :(得分:2)

您可以使用pandas.cut 考虑这个虚拟df

df = pd.DataFrame({'Total_payments': [97, 110, 100.5, 370, 820, 600]})

您可以使用pd.cut

添加括号列
labels = ['<100', '100-200','200-300','300-400','400-500','500-600','600-700','700-800','800-900']
df['Brackets'] = pd.cut(df['Total_payments'], \
bins = np.arange(0, df['Total_payments'].max()+100, 100), labels = labels)


    Total_payments  Brackets
0   97.0            <100
1   110.0           100-200
2   100.5           100-200
3   370.0           300-400
4   820.0           800-900
5   600.0           500-600

编辑:根据@Mikhail Venkov建议的标签参数更新答案