gpt4 book ai didi

python - 从具有重复自定义索引的 Dataframe 中删除行并保留具有列最大值的行

转载 作者:行者123 更新时间:2023-12-05 02:26:56 25 4
gpt4 key购买 nike

我有数千个 pandas 数据框 df,每个都有 1.2 亿行,如下所示:

     a   b     c    d    e
111 10 100 200 300 james
112 11 110 210 310 june
112 11 140 210 312 dune
234 12 120 220 333 dane

自定义索引的重复索引为 112。我想保留列“b”的最大值行以及自定义索引“112”。所以输出看起来像

      a   b     c    d    e
111 10 100 200 300 james
112 11 140 210 312 dune
234 12 120 220 333 dane

执行此操作的内存和速度效率高的方法是什么?

最佳答案

您可以尝试以下方法。

dupe_idx_rows = df[df.index.duplicated(keep=False)].sort_values(by='b', ascending=False)

dupe_idx_rows_one = dupe_idx_rows[~dupe_idx_rows.index.duplicated(keep='first')]

out= pd.concat([df[~df.index.duplicated(keep=False)],dupe_idx_rows_one])

或者,您也可以尝试使用 Groupby

关于python - 从具有重复自定义索引的 Dataframe 中删除行并保留具有列最大值的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73519800/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com