/ / Python Pandas - Uvedenie indexu ako názov skupiny / indexu pre skupinu vytvorené dataframe - python, pandas, pandas-groupby

Python Pandas - Uvedenie indexu ako názov skupiny / index pre skupinu vytvorené dataframe - python, pandas, pandas-groupby

Použil som groupby v pandách, ale označeniepre skupiny je jednoducho ľubovoľná hodnota, zatiaľ čo ja by som chcel, aby tento štítok bol indexom pôvodného dátového rámca (ktorý je datetime), aby som mohol vytvoriť nový dátový rámec, ktorý môžem vykresliť z hľadiska datetime.

    grouped_data = df.groupby(
["X",df.X.ne(df.X.shift()).cumsum().rename("grp")])

grouped_data2 = grouped_data["Y"].agg(np.trapz).loc[2.0:4.0]

Stĺpec x má meniace sa hodnoty od 1 do 4 adruhá línia kódu je určená na integráciu stĺpca Y do skupín, kde X je buď 2 alebo 3. Jedná sa o opakujúce sa jednotky, takže nechcem, aby všetky 2 a všetky 3 boli integrované, chcem časové obdobie, kde to ide: 22222333333 ako jednu skupinu a potom np.trapz znovu použiť na nasledujúcu skupinu, kde ide: 2222233333, Takto by som mal mať nový dátový rámec s indexom zodpovedajúcim začiatku týchto časových období a hodnotám, ktoré sú neoddeliteľnou súčasťou týchto období.

odpovede:

0 pre odpoveď č. 1

Ak správne rozumiem, už ste nastavili index na hodnoty DateTime? Ak áno, skúste funkciu zoskupenia:

df.groupby(pd.Grouper(key={index name}, freq={appropriate offset alias}))

Bez vzorového súboru údajov nemôžem naozaj poskytnúť úplné riešenie, ale toto by malo vyriešiť problém s indexovaním :)

Skupinový tutoriál funkcie

Zoskupenia aliasov