在 pandas 中将一组中的行附加到另一组

Append rows from one group to another group in pandas

我有两个数据框,A 和 B。我已经在它们上创建了组,并希望将数据框 B 中的行附加到同一组中的数据框 A。而且顺序很重要。

这些是我的数据帧:\

DataFrame A

            Name   Sales
Datetime
2021-09-01  Amy    10000
2021-09-02  Amy    5000
2021-09-03  Amy    8500
2021-09-01  Joyce  2400
2021-09-02  Joyce  6500
2021-09-03  Joyce  5700

DataFrame B

            Name   Sales
Datetime
2021-09-04  Amy    11000
2021-09-05  Amy    5600
2021-09-06  Amy    8700
2021-09-04  Joyce  8800
2021-09-05  Joyce  5400
2021-09-06  Joyce  12000

我的期望:

            Name   Sales
Datetime
2021-09-01  Amy    10000
2021-09-02  Amy    5000
2021-09-03  Amy    8500
2021-09-04  Amy    11000
2021-09-05  Amy    5600
2021-09-06  Amy    8700
2021-09-01  Joyce  2400
2021-09-02  Joyce  6500
2021-09-03  Joyce  5700
2021-09-04  Joyce  8800
2021-09-05  Joyce  5400
2021-09-06  Joyce  12000

谢谢!

concat两个数据帧然后sort_idnex+sort_values

out = pd.concat([df1,df2]).sort_index().sort_values('Name')
             Name  Sales
Datetime                
2021-09-01    Amy  10000
2021-09-02    Amy   5000
2021-09-03    Amy   8500
2021-09-04    Amy  11000
2021-09-05    Amy   5600
2021-09-06    Amy   8700
2021-09-01  Joyce   2400
2021-09-02  Joyce   6500
2021-09-03  Joyce   5700
2021-09-04  Joyce   8800
2021-09-05  Joyce   5400
2021-09-06  Joyce  12000

您需要使用以下方法对两个字段进行排序:

out = pd.concat([df1,df2]).sort_values(['Name','Datetime'])

使用 Append 语句合并 2 个 df 并排序 :

dfA.append(dfB, ignore_index=True).sort_values(by=['Name','Datetime'])