Wie kann ich in Pandas mit einer Teilmenge von Zeilen in einer Spalte arbeiten, die nach Index ausgewählt wurde?Wie man eine Zahl zu einem Indexbereich eines Pandas-Arrays hinzufügt
Insbesondere, wie kann ich 1.0 zu Spalte y hier hinzufügen, nur wo das Datum größer als 2016-08-04 ist?
>>> pandas.DataFrame(
... index=[datetime.date.today(), datetime.date.today() + datetime.timedelta(1)],
... data=[[1.2, 234], [3.3, 432]],
... columns=['x', 'y'])
x y
2016-08-04 1.2 234
2016-08-05 3.3 432
[2 rows x 2 columns]
Es macht mir nichts aus, ob dies in-Place ist oder einen neuen Datenrahmen zurückgibt.
Die Antwort sollte in diesem Fall sein:
x y
2016-08-04 1.2 234
2016-08-05 3.3 433
Pandas erlaubt Datumsvergleiche mit Strings, so dass Sie einfach 'df.index> '2016-08-04'' machen können. – root
@root viel besser. Vielen Dank. – ayhan
In meinem vollständigen Code habe ich bereits einen DateTimeIndex (ich habe das Schreiben der Frage vergessen), benutze pandas.read_table mit dem 'date_parser' Argument. Es war nur die '.loc' Verwendung, die ich irgendwie nicht richtig verstanden hatte. –