Próbuję utworzyć zestaw jednodniowych pól na czas dla serii czasu (na przykład 5-minutowych obserwacji temperaturowych).Najlepszy sposób na generowanie jednodniowych paczek z serialu czasowego Pandy
mój kod:
# ts is our timeseries
ts = df.SomeColumn
dow_map = {}
days = ['MON','TUE','WED','THU','FRI','SAT','SUN']
dow_idx = ts.index.dayofweek
i = 0
for d in days:
dow_map[d] = ts[dow_idx == i]
i = i + 1
df = pd.DataFrame(dow_map)
df.boxplot()
wyniki w:
---------------------------------------------------------------------------
Exception Traceback (most recent call last)
<ipython-input-898-6070c45e4c4b> in <module>()
41 i = i + 1
42
---> 43 df = pd.DataFrame(dow_map)
44 df.boxplot()
...
Exception: Reindexing only valid with uniquely valued Index objects
znalazłem succcess tworząc DataFrames za każdy dzień-of-tygodnia, a następnie concat-ing ich do ostatecznej DataFrame, ale wydaje się to nieefektywne ...
bok, jeśli kiedykolwiek się znaleźć i + = 1 w Pythonie, jesteś prawdopodobnie robi to źle (w tym przypadku użyć [ 'enumerate'] (http: // docs .python.org/2/library/functions.html # enumerate)) –
Czego oczekujesz od tego DataFrame? Wygląda na to, że byłoby to bardzo rzadkie ... –