gpt4 book ai didi

python - pandas.core.groupby.DataFrameGroupBy.idxmin() 非常慢,如何使我的代码更快?

转载 作者:行者123 更新时间:2023-12-01 07:56:47 25 4
gpt4 key购买 nike

我正在尝试执行与 SQL group by 相同的操作并获取最小值:

select id,min(value) ,other_fields...
from table
group by ('id')

我尝试过:

dfg = df.groupby('id', sort=False)
idx = dfg['value'].idxmin()
df = df.loc[idx, list(df.columns.values)]

https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.core.groupby.DataFrameGroupBy.idxmin.html但是第 2 行 idxmin() 在 df 中的 ~4M 列上花费了半个多小时,其中 group by 花费了不到 1 秒,我错过了什么,它应该花那么长时间吗?如何才能使这个过程更快?纯 SQL 会更快吗?

最佳答案

使用 DataFrame.sort_values 的替代方案和 DataFrame.drop_duplicates :

df1 = df.sort_values(by=['value']).drop_duplicates('id', keep='first')

关于python - pandas.core.groupby.DataFrameGroupBy.idxmin() 非常慢,如何使我的代码更快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55932560/

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