0
votes

Préserver l'index original lors de l'utilisation de Pandas Groupby

J'ai le Dataframe suivant que je veux que je souhaite que l'année de groupe et renvoie la valeur max (mais gardez les valeurs d'index comme elles sont ici): XXX Pré>

Lorsque vous utilisez Pandas Groupby, im Capable de les regrouper d'année, mais pas la date à laquelle je veux: p> xxx pré>

Ma sortie souhaitée consiste à utiliser Pandas Groupby et à obtenir: P>

 # NOTE : the date index is like the original

 # date         high
 # 2019-04-01   150
 # 2020-01-01   100


0 commentaires

3 Réponses :


1
votes

sort_values ​​ puis faire groupy avec queue xxx

lorsque vous faites le DF [ "Haut"]. Groupby (Func) .max () , il est Series GroupBy Non DataFrame Groupby, de sorte que la sortie ne porte pas sur l'index de Dataframe


3 commentaires

Pourquoi cela fonctionne-t-il? Que représente l'objet Groupby?


@ thomas.mac quand vous func = lambda x: x.year df ["High"]. Groupby (Func) .max (), vous passez Serise Groupby Pas de Dataframe Groupby, donc il ne portera donc pas sur l'index de Dataframe


@ thomas.mac pandas.pydata.org/ Pandas-Docs / Stable / Référence / API / ...



1
votes

Un autre moyen est d'utiliser idxmax code> et local code> Accès: xxx pré>

sortie: p>

            high
date            
2019-04-01   150
2020-01-01   100


0 commentaires

0
votes

Vous pouvez également utiliser nlargest et droplevel xxx


0 commentaires