Sono in grado di leggere e tagliare panda dati frame utilizzando oggetti datetime python, tuttavia sono obbligato a utilizzare solo date esistenti nell'indice. Ad esempio, questo funziona:python pandas dataframe slicing per condizioni di data
>>> data
<class 'pandas.core.frame.DataFrame'>
DatetimeIndex: 252 entries, 2010-12-31 00:00:00 to 2010-04-01 00:00:00
Data columns:
Adj Close 252 non-null values
dtypes: float64(1)
>>> st = datetime.datetime(2010, 12, 31, 0, 0)
>>> en = datetime.datetime(2010, 12, 28, 0, 0)
>>> data[st:en]
Adj Close
Date
2010-12-31 593.97
2010-12-30 598.86
2010-12-29 601.00
2010-12-28 598.92
Tuttavia, se io uso una data di inizio o di fine che non è presente nel DF, ottengo pitone KeyError.
La mia domanda: Come faccio a interrogare l'oggetto dataframe per un intervallo di date; anche quando le date di inizio e fine non sono presenti in DataFrame. I panda consentono l'affettamento basato sulla gamma?
Sto usando i panda versione 0.10.1
Se si copia incolla l'esempio, funziona correttamente. Ma le variabili di inizio e fine nel mio programma, sempre predefinite per la lunghezza del dataframe! Che cosa sto facendo di sbagliato? - http://pastebin.com/raw.php?i=hfpHqF7s –
Sembra che dovresti ordinare il tuo 'DataFrame' in ordine crescente. – waitingkuo
Grazie, ha funzionato quando i dati sono stati ordinati in ordine crescente. –