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

如何在Python中一起使用filter、group by和agg函数

如何在Python中一起使用filter、group by和agg函数

白衣非少年 2023-10-18 20:42:11
我有下面的数据框:  A         B       C0 asia      1000    ab1 africa    2000    ab2 asia      4000    bc3 asia      6000    cd4 USA       200     ab我想过滤 A 列 = 亚洲 并按 C 列对 B 列进行求和。我正在尝试使用:agg = df[df['A'] = 'asia'].groupby('C')[['B']].sum()但它只返回一行,其中包含 B 列和 C 列的总和。我想返回整个数据帧。我怎样才能做到这一点?
查看完整描述

2 回答

?
繁星淼淼

TA贡献1775条经验 获得超11个赞

尝试这个:


df1 = df[df['A'] == 'asia'].groupby(['A', 'C'], as_index=False).sum()

print(df1)


      A   C     B

0  asia  ab  1000

1  asia  bc  4000

2  asia  cd  6000


查看完整回答
反对 回复 2023-10-18
?
慕姐4208626

TA贡献1852条经验 获得超7个赞

我将分两步进行,如下所示。

group = [('asia', data['B'].sum(), c) for c, data in df[df['A'] = 'asia'].groupby('C')]
df_new = pd.DataFrame(group, columns=['A', 'B', 'C'])


查看完整回答
反对 回复 2023-10-18
  • 2 回答
  • 0 关注
  • 76 浏览
慕课专栏
更多

添加回答

举报

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