0
votes

Obtenir des valeurs à l'aide de la fonction python-pandas groupby-agrégate

Alors j'ai un fichier de données qui ressemble à ceci:

    Date          Amount
    2010-01-01      20
    2010-01-02      70 


0 commentaires

3 Réponses :


0
votes

Définit la colonne DATE En tant qu'index, effectuez une groupeby sur la colonne MONTRE , obtenez un booléen pour des lignes dans le Dataframe d'origine qui sont égaux au résultat de la GroupeBy et index avec loc : xxx


0 commentaires

0
votes

La solution la plus simple sera fusionnée (jointure intérieure) votre sortie à la date et au montant de la table d'entrée et obtenez les colonnes requises EX:

pd.merge(df,df.groupby(df['Date']).agg({'Amount':'max'}).reset_index(),on=['Date','Amount'])


0 commentaires

0
votes

Alors, après avoir frappé ma tête autour de quelques postes (et ne pas vous déranger de regarder mon propre poste XD), j'ai rencontré la solution suivante qui fonctionne aussi bien:

df.sort_values ​​(by = ['montant'], ascendant = false) .drop_duplicates (sous-ensemble = 'date'). Sort_values ​​(par = [date '])

Notez que les solutions données par Manish et Sammy fonctionnent parfaitement et entraînent également le même Dataframe. Bravo!


0 commentaires