df = pd.DataFrame([['A',7], ['A',5], ['B',6]], columns = ['group', 'value'])
如果我要保留一行group
,而行数最少value
,则使用:
df[df['value'] == df.groupby('group')['value'].transform('min')]
但是,如果我要保留索引最低的行,则以下操作不起作用:
df[df.index == df.groupby('group').index.transform('min')]
我知道我可以使用reset_index()并将索引作为列来处理,但是我可以避免这种情况:
df[df.reset_index()['index'] == df.reset_index().groupby('group')['index'].transform('min')]
您可以按索引排序(如果尚未排序),然后取每组的第一行:
df.sort_index().groupby('group').first()
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句