我有2个数据帧:
DF_A
datetime var
2016-10-15 110.232790
2016-10-16 111.020661
2016-10-17 112.193496
2016-10-18 113.638143
2016-10-19 115.241448
和df_b
datetime var
2000-01-01 165.792185
2000-01-02 166.066959
2000-01-03 166.411669
2000-01-04 167.816046
2000-01-05 169.777814
2000-10-15 114.232790
2000-10-16 113.020661
df_a包含2016年的信息,df_b拥有2000年至2015年的信息(这些年份没有重叠)。
我可以安排df_b数据帧与df_a一样具有相同的日期顺序吗?
答案 0 :(得分:1)
您可以boolean indexing
使用isin
和month
&
day
或numpy.in1d
与strftime
:
注意:datetime
是两个DataFrames中的索引
df = df_b[df_b.index.month.isin(df_a.index.month) & df_b.index.day.isin(df_a.index.day)]
print (df)
var
datetime
2000-10-15 114.232790
2000-10-16 113.020661
或者:
df = df_b[np.in1d(df_b.index.strftime('%m%d'), df_a.index.strftime('%m%d'))]
print (df)
var
datetime
2000-10-15 114.232790
2000-10-16 113.020661