在 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'])
我有两个数据框,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'])