2016-10-30 3 views
2

Ich habe zwei Datenrahmen nach Daten indiziert und ich muss die Daten vergleichen - alle Dateneinträge, die nicht beide Datenrahmen gegenseitig sind. Der erste Datenrahmen har das Format: 2011-10-31Vergleichen von Daten verschiedener Formate zwischen Pandas Datenrahmen

Der andere hat einig Datetime-Format von Pandas/Python und wenn genannt Shows wie: 2011-10-31T01: 00: 00,000000000 + 0100

Offensichtlich Vergleichen der beiden Rückgaben falsch/nicht gleich. Ich denke, der einfachste Weg, einen Vergleich zu ermöglichen, besteht darin, das letztere Format zu reduzieren. Wie mache ich das?

Antwort

1

Verwenden Sie pandas.to_datetime, die die Konvertierung für Sie tun wird.

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') 

Test-Vergleich:

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) 
Verwandte Themen