手动输入合并的数据帧:按日期排序的可能性



下面的两个数据帧df1和df2已经被手动输入到Python中。然后将数据框合并到df3中。如何确保最终合并的数据框架df3使用相同的降序(时间顺序)(对于初始数据框架df1和df2)(因为默认情况下不是这样)?提前感谢

import pandas as pd
df1 = pd.DataFrame({"date": ['2021-3-22', '2021-4-7', '2021-4-18', '2021-5-12'],
"x": [3, 3, 3, 0 ]})
df1['date'] = pd.to_datetime(df1['date'])
df1.set_index('date', inplace=True)
df1
x
date    
2021-03-22  3
2021-04-07  3
2021-04-18  3
2021-05-12  0
df2 = pd.DataFrame({"date": ['2021-3-22', '2021-4-8', '2021-4-18', '2021-5-12'],
"y": [3, 3, 3, 0 ]})
df2['date'] = pd.to_datetime(df2['date'])
df2.set_index('date', inplace=True)
df2
y
date    
2021-03-22  3
2021-04-08  3
2021-04-18  3
2021-05-12  0
df3 = df1.merge(df2, on='date', how='outer')
df3

x   y
date        
2021-03-22  3.0 3.0
2021-04-07  3.0 NaN
2021-04-18  3.0 3.0
2021-05-12  0.0 0.0
2021-04-08  NaN 3.0

PS这个问题是以下问题的后续问题:如何以正确的格式手动输入包含每日日期的Python数据框架

要按降序排列合并的数据帧,您可以使用以下

更新合并行
df3 = df1.merge(df2, on='date', how='outer').sort_values(by='date', ascending=False)

这将按时间降序对df3进行排序。

最新更新