Home > Mobile >  Append rows from one group to another group in pandas
Append rows from one group to another group in pandas

Time:01-12

I have gotten two dataframes, A and B. I have created groups on both of them and would like to append rows from dataframe B to dataframe A in the same group. And the ordering is important.

These are the dataframes I have:\

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

What I expect:

            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

Thanks!

CodePudding user response:

concat two data frames then 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

CodePudding user response:

You need to sort on both fields using:

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

CodePudding user response:

Using Append statement to combine 2 df and sort :

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