我想你需要DataFrame.combine_first
:
df_1 = pd.DataFrame({'A':[1,2,3],
'E':[4,5,6],
'V':[7,8,9],
'D':[1,3,5]},
index=pd.to_datetime(['2017-01-05', '2017-01-04', '2017-01-01']))
print (df_1)
A D E V
2017-01-05 1 1 4 7
2017-01-04 2 3 5 8
2017-01-01 3 5 6 9
df_2 = pd.DataFrame({'A':[1,2,3],
'B':[4,5,6],
'C':[7,8,9]}, index=pd.date_range('2017-01-01', periods=3)) * 10
print (df_2)
A B C
2017-01-01 10 40 70
2017-01-02 20 50 80
2017-01-03 30 60 90
df = df_1.combine_first(df_2)
print (df)
A B C D E V
2017-01-01 3.0 40.0 70.0 5.0 6.0 9.0
2017-01-02 20.0 50.0 80.0 NaN NaN NaN
2017-01-03 30.0 60.0 90.0 NaN NaN NaN
2017-01-04 2.0 NaN NaN 3.0 5.0 8.0
2017-01-05 1.0 NaN NaN 1.0 4.0 7.0
驚人!索引和列是否自動分類?因爲我的索引是日期索引。 – riccio777
我想是的,但不是100%肯定,如果不加'.sort_index()'。 – jezrael
我測試了一下,漂亮的種種datetimeindex。我也改變它的樣本。 – jezrael