gpt4 book ai didi

python - Pandas 数据框总行

转载 作者:IT老高 更新时间:2023-10-28 21:35:08 28 4
gpt4 key购买 nike

我有一个数据框,类似于:

     foo  bar  qux
0 a 1 3.14
1 b 3 2.72
2 c 2 1.62
3 d 9 1.41
4 e 3 0.58

我想在数据框的末尾添加一个“总计”行:

     foo  bar  qux
0 a 1 3.14
1 b 3 2.72
2 c 2 1.62
3 d 9 1.41
4 e 3 0.58
5 total 18 9.47

我尝试使用 sum 命令,但最终得到了一个 Series,虽然我可以转换回 Dataframe,但不维护数据类型:

tot_row = pd.DataFrame(df.sum()).T
tot_row['foo'] = 'tot'
tot_row.dtypes:
foo object
bar object
qux object

我想保留原始数据框中的数据类型,因为我需要对总行应用其他操作,例如:

baz = 2*tot_row['qux'] + 3*tot_row['bar']

最佳答案

2022 年 6 月更新

pd.appendnow deprecated .您可以改用 pd.concat,但正如 Kevin Zhu 评论的那样,使用 df.loc['Total'] = df.sum(numeric_only=True) 可能更容易。或者,更好的是,不要修改数据框并将您的数据与汇总统计数据分开!


添加一个总计行

df.append(df.sum(numeric_only=True), ignore_index=True)

仅当您有一列字符串或对象时,才需要进行转换。

这是一个有点脆弱的解决方案,所以我建议坚持对数据帧进行操作。例如。

baz = 2*df['qux'].sum() + 3*df['bar'].sum()

关于python - Pandas 数据框总行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21752399/

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