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

Python pandas.core.groupby.DataFrameGroupBy.idxmin()非常慢,如何使代码更快?,python,pandas,python-2.7,pandas-groupby,Python,Pandas,Python 2.7,Pandas Groupby,我正在尝试执行与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)] 但是第2行idxmin()在df中的~4M列上花费了半个多小时,其中grou

我正在尝试执行与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)]
但是第2行idxmin()在df中的~4M列上花费了半个多小时,其中group by花费的时间不到1秒,我缺少的是它应该花费那么长的时间吗?如何使这一过程更快?在纯SQL中会更快吗?

使用替代和:

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