Ich möchte Daten in 'A' von Daten in 'B' subtrahieren und eine neue Spalte mit dem Unterschied hinzufügen.Add Spalte mit der Anzahl der Tage zwischen Daten in DataFrame Pandas
df
A B
one 2014-01-01 2014-02-28
two 2014-02-03 2014-03-01
ich folgende versucht haben, aber einen Fehler, wenn ich versuche, dies für Schleife in einem schließen ...
import datetime
date1=df['A'][0]
date2=df['B'][0]
mdate1 = datetime.datetime.strptime(date1, "%Y-%m-%d").date()
rdate1 = datetime.datetime.strptime(date2, "%Y-%m-%d").date()
delta = (mdate1 - rdate1).days
print delta
Was soll ich tun?
Können wir den Teil "Tage" im Ergebnis loswerden, wenn wir nur den numerischen Wert sehen müssen, dh. -58, -26 in diesem Fall. – 0nir
auf @AndyHayden Kommentar zu erweitern, das funktioniert aber es sollte 'pd.offsets.Day (1)' (mit einem 's'). Ich negiere es auch normalerweise, also bekommst du '(df ['A'] - df ['B'])/pd.offsets.Day (-1)' – dirkjot
Allerdings, wenn du das auf einer ganzen Serie machen willst brauche '(df ['A'] - df ['B'])/np.timedelta64 (-1, 'D')' aus Gründen, die ich nicht vollständig verstehe. – dirkjot