I 2 Spalten mit Daten in sie haben, ich möchte eine dritte Spalte mit der max dieser 2 Tage, erstellen:maximal zwei Tage, kommt in einem ganz anderen Format
df['xxx_MaxSettDate'][0]
Out[186]: Timestamp('2017-01-20 00:00:00')
df['yyy_MaxSettDate'][0]
Out[166]: NaT
hier ist mein Max-Funktion:
df['MaxSettDate']=df[['xxx_MaxSettDate','yyy_MaxSettDate']].max(axis=1)
Ausgang:
df['MaxSettDate'][0]
Out[187]: 1.4848704e+18
ich an diesem Tag zu tun Betrieb in der Lage sein wollen, wie alle Daten entfernen, die niedriger sind als 1 m
so dass ich dies tun:
onemonthdate = date.today() + timedelta(30)
df = df[(df['MaxSettDate']>onemonthdate)]
Dies führt zu dem Fehler:
TypeError: unorderable types: float() > datetime.date()
Gedanken darüber, wie ich erreichen könnte dies pls? Ich bin sehr verwirrt über all die Lösungen zur Verfügung gestellt .. Sie könnten auch zeigen Sie mir etwas, das ich lesen konnte und das gesamte Datum Paradigma in Python besser verstehen .. Danke vm!
Der Datentyp von 'df ['MaxSettDate']' und 'onemonthdate' ist unterschiedlich, also der' TypeError'. Konvertieren Sie entweder den gleichen Typ, bevor Sie die logische Operation '>' ausführen. – Eduard
In der Tat, was ich versuche zu verstehen .. Wie mache ich das? – spiff
Nun, entweder suchen Sie entweder nach 'Float zu Datetime Python konvertieren' http://StackOverflow.com/Questions/6706231/Fetching-DatumZeit-von-Float-und-Vice-Versa-in-Python oder 'Konvertieren Sie Datetime zu Float Python ', die mit dem Float-Format von Pandas übereinstimmen sollte. – Eduard