Datenrahmen bekommen ich habe:Wie die nächste einzelne Zeile nach einem bestimmten Datetime-Index mit Python Pandas
A B C
2012-01-01 1 2 3
2012-01-05 4 5 6
2012-01-10 7 8 9
2012-01-15 10 11 12
Was ich jetzt benutze:
date_after = dt.datetime(2012, 1, 7)
frame.ix[date_after:].ix[0:1]
Out[1]:
A B C
2012-01-10 7 8 9
Gibt es einen besseren Weg, dies zu tun ? Ich mag es nicht, dass ich .ix [0: 1] anstelle von .ix [0] angeben muss, aber wenn ich nicht die Ausgabe zu einer TimeSeries anstatt einer einzelnen Zeile in einem DataFrame ändert. Ich finde es schwieriger, mit einer gedrehten TimeSeries-Version über dem ursprünglichen DataFrame zu arbeiten.
Ohne .ix[0:1]
:
frame.ix[date_after:].ix[0]
Out[1]:
A 7
B 8
C 9
Name: 2012-01-10 00:00:00
Danke,
John
Beliebige Dokumente für diese? – Pablojim
@Pablojim: http://pandas.pydata.org/pandas-docs/stable/generated/pandas.Index.searchsorted.html?highlight=searchsorted#pandas.Index.searchsorted – naught101