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'])
