gpt4 book ai didi

python - 在 DataFrame 底部添加一行以获得总计

转载 作者:行者123 更新时间:2023-11-30 22:12:00 30 4
gpt4 key购买 nike

我使用 Pandas 对 Excel 文件中的信息进行分组,利用这些信息对值进行求和以获得数据摘要。

它从 Excel 中提取某些信息,然后对列进行分组以反射(reflect)我想要的摘要。

summary_df = df.groupby(["NAME", "CITY"])["QUANTITY"].sum().reset_index()
summary_df.loc["Grand Total"] = summary_df["QUANTITY"].sum()

这将返回我想要的信息并给出总和,但它会显示数据帧每列的数量摘要,如下所示:

NAME         |   CITY   |   QUANTITY
JOHN | LONDON | 50
STEVE | PARIS | 100
GRAND TOTAL | 150 | 150

我只想查看“QUANTITY”下的总计,而不是其他列。

最佳答案

您可以将总行添加到 groupby 系列中,然后通过 reset_index 转换为数据帧。目前,您正在使用标量填充数据帧的整行,这会触发 Pandas 使用广播。

df = pd.DataFrame([['A', 'LONDON', 10], ['A', 'LONDON', 20],
['B', 'CHICAGO', 30], ['C', 'CHICAGO', 20]],
columns=['NAME', 'CITY', 'QUANTITY'])

df_summary = df.groupby(['NAME', 'CITY'])['QUANTITY'].sum()
df_summary.loc['Grand Total'] = df_summary.sum()

df_summary = df_summary.reset_index()

print(df_summary)

NAME CITY QUANTITY
0 A LONDON 30
1 B CHICAGO 30
2 C CHICAGO 20
3 Grand Total 80

关于python - 在 DataFrame 底部添加一行以获得总计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51246174/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com