如何对两个数据帧求和 python

how to sum two dataframes python

我有两个数据框

tickers                        dt  AAPL  AMC  AMZN  ...  TH  TSLA  VIAC  WKHS
0       2021-03-22 00:00:00+00:00     0    0     0  ...   0     1     0     0
1       2021-03-23 00:00:00+00:00     0    0     0  ...   0     1     0     0
2       2021-03-24 00:00:00+00:00     1    2     0  ...   0     0     0     0
3       2021-03-25 00:00:00+00:00     0    0     0  ...   0     0     0     0
4       2021-03-26 00:00:00+00:00     0    2     0  ...   0     4     0     0
tickers                        dt  AAPL  AMC  AMZN  ...  TH  TSLA  VIAC  WKHS
0       2021-03-19 00:00:00+00:00     0    0     0  ...   0     0     0     0
1       2021-03-20 00:00:00+00:00     0    0     0  ...   0     0     0     0
2       2021-03-21 00:00:00+00:00     0    0     0  ...   0     0     0     0
3       2021-03-22 00:00:00+00:00     0    0     0  ...   0     3     0     0
4       2021-03-23 00:00:00+00:00     0    0     0  ...   0     3     0     0

我想根据另一个数据框中的相应行对每一行求和。 您可以看到一个数据帧中的某个时间在另一个数据帧中不存在。我也想考虑它们并包含在新数据框中

一种方法是先合并数据帧,然后进行求和。

df1 = df1.merge(df2, left_on='dt', right_on='dt', how='outer')

列名称可能以“_x”或“_y”结尾,以便您区分。然后你可以做一个正常的数据帧总和。

试试这个:

df = pd.concat([df1, df2]).groupby(['dt']).sum().reset_index()

print(df)

PS: 这是确保所有日期时间都存在。