【发布时间】:2019-09-19 19:14:24
【问题描述】:
我正在尝试执行与 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 中会更快吗?
【问题讨论】:
标签: python pandas python-2.7 pandas-groupby