合并具有相同值的numpy数组/数据框并保持差异

Nea*_*eal 3 python numpy pandas

我有两个数组。

第一个看起来像这样:

        Date          Price  Volume
2019-04-15 01:00:00    50      100
2019-04-15 02:00:00    35      120
Run Code Online (Sandbox Code Playgroud)

第二个数组如下所示:

        Date          Price  Volume
2019-04-15 01:00:00    50      200
2019-04-15 02:00:00    40      130
Run Code Online (Sandbox Code Playgroud)

输出数组应如下所示:

        Date          Price  Volume
2019-04-15 01:00:00    50      300
2019-04-15 02:00:00    35      120
2019-04-15 02:00:00    40      130
Run Code Online (Sandbox Code Playgroud)

因为价格和第一行的日期相同,所以我对输出数组中的体积求和。

我尝试了几种方法。也许有人对如何创建输出数组或数据框有一个想法。

jez*_*ael 8

使用concat和汇总DataFrame.groupby两列的总和:

df = pd.concat([df1, df2]).groupby(['Date','Price'], as_index=False)['Volume'].sum()
print (df)
                  Date  Price  Volume
0  2019-04-15 01:00:00     50     300
1  2019-04-15 02:00:00     35     120
2  2019-04-15 02:00:00     40     130
Run Code Online (Sandbox Code Playgroud)