根据其他列值对列进行分类

时间:2018-09-20 20:42:06

标签: python-3.x pandas data-cleaning



我有一个DataFrame如下:
col1 num agg_col
12 200 0
13 300 0
14 400 0
15 500 0
16 600 0
17 700 0

我正在尝试根据col1中的值填充agg_col。
例如,如果col1为12-14,则在agg_col,15-16,
上填充1 在agg_col上填充2。如果col1 = 17,则填充3。

我编写了以下python代码:

df['agg_col'][(df['col1'] >= 12) & (df['col1'] <= 14)] = 1


但是我被困在这里,无法继续进行。请帮忙!!!

1 个答案:

答案 0 :(得分:2)

尝试看看pd.cut

pd.cut(df.col1,[0,15,16,17],labels=[1,2,3])
Out[988]: 
0    1
1    1
2    1
3    1
4    2
5    3
Name: col1, dtype: category
Categories (3, int64): [1 < 2 < 3]