Mein Datenrahmen besteht aus Studenten, Daten und Testergebnisse. Ich möchte das maximale Datum für jeden Studenten finden und die entsprechende Reihe zurückgeben (schließlich interessiere ich mich am meisten für die neueste Punktzahl des Schülers). Wie könnte ich das in Pandas machen?Groupby max value und return entsprechende Zeile in Pandas Dataframe
mein Datenrahmen wie dies Lassen Sie sagen, sieht (eine gekürzte Version):
Student_id Date Score
Tina1 1/17/17 .95
John2 1/18/17 .8
Lia1 12/13/16 .845
John2 1/25/17 .975
Tina1 1/1/17 .78
Lia1 6/12/16 .89
Dies ist, was ich will:
Student_id Date Score
Tina1 1/17/17 .95
Lia1 12/13/16 .845
John2 1/25/17 .975
ich dies auf SO gefunden, aber es gibt mir eine Positions Indexer aus -of-bounds Fehler.
df.iloc[df.groupby('student_id').apply(lambda x: x['date'].idxmax())]
Was sind andere Ansätze, um das gleiche zu erreichen?