2016-10-30 16 views
2

私は2つのデータフレームを日付で索引付けしています。日付を比較する必要があります - 両方のデータフレームに共通でない日付エントリをすべて並べ替えます。フォーマットHAR最初のデータフレーム:2011-10-31 パンダのデータフレーム間で異なるフォーマットの日付を比較する

他方がパンダ/パイソンからいくつかの日時フォーマットを有しており、ときに呼び出さ示すように: 2011-10-31T01:00:明らか00.000000000 + 0100

2つを比較すると、false/not equalが返されます。比較を可能にする最も簡単な方法は、後者の形式を減らすことだと思います。これはどうすればいいですか?

答えて

1

pandas.to_datetimeを使用すると、変換が行われます。

df1 = pd.DataFrame({'date':['2011-10-31', '2011-10-31', '2011-10-29'],'val':range(3)}).set_index('date') 
df2 = pd.DataFrame({'date':['2011-10-31T01:00:00.000000000+0100', 
         '2011-10-31T00:00:00.000000000+0000', 
         '2011-10-29T11:00:00.000000000+0100'],'val':range(3)}).set_index('date') 

テスト比較:

df1.index==df2.index 
# array([False, False, False], dtype=bool) 

pd.to_datetime(df1.index)==pd.to_datetime(df2.index) 
# array([ True, True, False], dtype=bool) 
関連する問題