gpt4 book ai didi

python - Pandas 将 DataFrame 求和到一个更大的 DataFrame 中,该 DataFrame 已经包含具有相同列名的相同索引

转载 作者:太空宇宙 更新时间:2023-11-04 00:44:06 31 4
gpt4 key购买 nike

我只想知道是否有人对以下问题有更优雅的解决方案:

我有两个 Pandas DataFrame:

import pandas as pd
df1 = pd.DataFrame([[1, 2, 3], [4, 5, 6], [7, 8, 9]], columns=list('ABC'))
df2 = pd.DataFrame([[10, 20, 30], [40, 50, 60]], columns=list('ABC'))

A B C
0 1 2 3
1 4 5 6
2 7 8 9


A B C
0 10 20 30
1 40 50 60

我只想根据具有相同列的索引将 df2 求和到 df1 中:

    A   B   C
0 11 22 33
1 44 55 66
2 7 8 9

到目前为止我的解决方案:

df_merge = df1.merge(df2, how='inner', left_index=True, right_index=True, suffixes=['_l', '_r'])
for elt in list('ABC'):
df_merge[elt] = df_merge[elt + '_l'] + df_merge[elt + '_r']
df_merge.drop([elt + '_l', elt + '_r'], axis=1, inplace=True)
df1.update(df_merge)

感谢您的帮助!

最佳答案

使用 df.add(df2)等同于 df1 + df2,但允许您在索引和列不对齐的地方填写一个值。

>>> df1.add(df2, fill_value=0)
A B C
0 11 22 33
1 44 55 66
2 7 8 9

关于python - Pandas 将 DataFrame 求和到一个更大的 DataFrame 中,该 DataFrame 已经包含具有相同列名的相同索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40558182/

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