我使用这样的代码来选择组中值最大的行:
set_f = set.loc[set.reset_index().groupby(['Scan Number'])['dda246displmils'].idxmax()]
和这工作完美地与数据集od ~1M行,但我得到这个错误时,尝试分组38M行:
KeyError: '不再支持将list-like传递给.loc或[],任何缺少标签,请参阅https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#deprecate-loc-reindex-listlike'
原因是什么?对于更大的数据集还有其他选择吗?
谢谢,Paulina
问题是您想选择由reset_index
创建的原始索引值,因此引发错误。
解在loc
之前重新赋值:
df = set.reset_index()
set_f = df.loc[df.groupby(['Scan Number'])['dda246displmils'].idxmax()]