我正在尝试将一组事物进行分组,并根据(最小值和最大值)值的最小值,最大值和平均值在组内动态执行剪切。
我的数据集看起来像这样:
Country Value
Uganda 210
Kenya 423
Kenya 315
Tanzania 780
Uganda 124
Uganda 213
Tanzania 978
Kenya 524
我期望的是每个值在哪个范围内,高于或低于中间值:
Country Value Range
Uganda 210 (168.5, 213)
Uganda 124 (124, 168.5)
Uganda 213 (168.5, 213)
Kenya 423 (419.5, 524)
Kenya 315 (315, 419.5)
Kenya 524 (419.5, 524)
Tanzania 780 (780, 879)
Tanzania 978 (879, 980)
如果我通过遍历每个组的循环来做到这一点,那么我就能实现这一目标。我还能够基于整个数据集(而不是单个组)的最小值和最大值实现削减。但是,我想知道是否可以使用熊猫在一两行中完成而不使用循环。
最佳答案
尝试这个;
data['Range'] = data.groupby('Country').Value.apply(pd.cut, bins=2)
关于python - GroupBy和Cut in Pandas,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50249880/