Mam tabelę, w której jedna z kolumn jest data powstawały (dataframe nie jest indeksowana według daty)Pandy data GroupBy zakres
Chcę grupy tabelę według daty, w której wszystkie elementy, które miały miejsce przed pewna data jest zgrupowana w jednym segmencie. Musiałoby to być kumulatywne, więc późniejsze segmenty będą zawierać wszystkie punkty danych z wcześniejszych.
Oto przedmiot daterange muszę grupy przez:
date_rng = date_range('28/02/2010','31/08/2014',freq='3M')
Oto przykład kilku punktów danych w tabeli:
df_raw.head()
Ticker FY Periodicity Measure Val Date
0 BP9DL90 2009 ANN CPX 1000.00 2008-03-31 00:00:00
1 BP9DL90 2010 ANN CPX 600.00 2009-03-25 00:00:00
2 BP9DL90 2010 ANN CPX 600.00 2009-09-16 00:00:00
3 BP9DL90 2011 ANN CPX 570.00 2010-03-17 00:00:00
4 BP9DL90 2011 ANN GRM 57.09 2010-09-06 00:00:00
[5 rows x 6 columns]
Każde wejście byłoby bardzo mile widziane.
Dzięki
To nie brzmi jak „grupa "(w sensie pandy) jest właściwym podejściem. Jest to operacja wzajemnie się wykluczająca. Co tak naprawdę próbujesz zrobić? Jeśli chcesz zagregować dowolną z kolumn, możesz rozważyć indeksowanie według daty, a następnie np. 'cumsum()' lub 'pd.rolling_apply()', aby uzyskać "działającą sumę" – Luciano
Szukam filtrowania danych na podstawie określonych kryteriów. Jednym z tych kryteriów jest "od x data". Nie chce agregować danych. Nie wiedziałem, że pandy groupby wzajemnie się wykluczają - prawdopodobnie będą musiały skonfigurować pętle, aby ręcznie tworzyć podzbiory głównego stołu. – user3294195
na tej podstawie, najpierw spróbowałbym odczytać dane z datą jako indeksem (zobacz argumenty 'index_col' i' parse_dates' z 'pd.read_csv()'), wtedy możesz zapętlić w prosty sposób: 'dla d w date_range: print (df_raw [: d]) ', który wydrukuje (pod) tablicę do aktualnej d. – Luciano