【发布时间】:2020-11-18 15:50:59
【问题描述】:
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')]
【问题讨论】:
-
你的目标是什么,你能发布预期的输出吗?