为了账号安全,请及时绑定邮箱和手机立即绑定

在分箱列上分组不能正常工作

在分箱列上分组不能正常工作

湖上湖 2023-06-20 16:47:42
我正在使用 pandas cut 来计算一个新的 bins 列,如下所示:bins = [1, 10, 20, 34, np.Inf]labels = ['1-10', '11-20', '21-34', '35 -Inf']df['binned'] = pd.cut(df['Number of Locations'], bins=bins, labels=labels, include_lowest=True)这为我提供了合并值的新列,然后我尝试下面的代码:df.groupby(['binned', 'Parent_Account'])['has_desired_product'].apply(sum).reset_index()这应该给我按新的 binned 列分组,但它给了我不正确的输出 - 实际上只有一个 Parent_Account 用于'35-inf' bin 但它显示的不止于此,我的代码某处有错误吗?
查看完整描述

1 回答

?
互换的青春

TA贡献1797条经验 获得超6个赞

没有提供样本数据。测试边缘情况似乎都很好。我正在使用熊猫 1.1


df = pd.DataFrame({"Number of Locations":[32,33,34,35,36,np.inf,np.nan,34.0001]})

bins = [1, 10, 20, 34, np.Inf]

labels = ['1-10', '11-20', '21-34', '35 -Inf']

df['binned'] = pd.cut(df['Number of Locations'], bins=bins, labels=labels, include_lowest=True)

print(df.to_string())

输出


   Number of Locations   binned

0              32.0000    21-34

1              33.0000    21-34

2              34.0000    21-34

3              35.0000  35 -Inf

4              36.0000  35 -Inf

5                  inf  35 -Inf

6                  NaN      NaN

7              34.0001  35 -Inf


查看完整回答
反对 回复 2023-06-20
  • 1 回答
  • 0 关注
  • 72 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信