【发布时间】:2018-03-15 23:11:49
【问题描述】:
我想创建一个新列,其中的分箱值按另一列分组。带有按年份分类的样本数据集如下所示:
Year A Bin
1999 1 [1-3]
1999 3 [1-3]
1999 10 [10-11]
1999 11 [10-11]
2000 43 [39-43]
2000 39 [39-43]
2000 22 [20-23]
2000 21 [20-23]
2001 11 [10-11]
2001 10 [10-11]
2001 198 [185-200]
2001 188 [185-200]
我使用过pd.cut,但我无法在每年而不是整个专栏中将其放入垃圾箱。
我尝试使用此功能,但出现错误:TypeError: 'Series' object is not callable。
def var_to_bins(dataset, var, num_bins):
dataset[str(var)+'_test'] = dataset.groupby(dataset.survyear(pd.cut(dataset[var], num_bins)))
有没有更好的方法来解决这个问题?
【问题讨论】:
-
预期输出是什么?
-
我的预期输出是 Bin 列。也许我不清楚。例如,使用上面的数据,我希望
A每年分为两个箱,但目前我只能将A划分为整个列的两个箱。很抱歉造成混乱。 -
我修改了答案,但仍然不能 100% 确定这是否是您想要的。