我想将这个数据框中具有相同名称但具有不同值的多行减少到一个每个名称仅包含1行且具有最大值的数据框。
df = pd.DataFrame([{"Name": "Foo", "Value": 1}, {"Name": "Foo", "Value": 3}, {"Name": "Bar", "Value": 1},{"Name": "Bar", "Value": 4}])
Dataframe希望:
df_filtered = pd.DataFrame([{"Name": "Foo", "Value": 3}, {"Name": "Bar", "Value": 4}])
我从df开始。然而Groupby却让人感觉不自然。
排序值以最大值结尾,然后每组取最后一行。
df.sort_values(by='Value').groupby('Name', as_index=False).last()