要按组删除具有最大值的行的多索引数据框架,您可以按以下步骤操作:
import pandas as pd
data = {'Group': ['A', 'A', 'A', 'B', 'B', 'B'],
'Value': [1, 2, 3, 4, 5, 6]}
df = pd.DataFrame(data)
df.set_index(['Group'], inplace=True)
groupby
和idxmax
获取每个组中具有最大值的行的索引:max_indexes = df.groupby(level=0)['Value'].idxmax()
drop
方法删除具有最大值的行:df.drop(max_indexes, inplace=True)
以下是完整的示例代码:
import pandas as pd
data = {'Group': ['A', 'A', 'A', 'B', 'B', 'B'],
'Value': [1, 2, 3, 4, 5, 6]}
df = pd.DataFrame(data)
df.set_index(['Group'], inplace=True)
max_indexes = df.groupby(level=0)['Value'].idxmax()
df.drop(max_indexes, inplace=True)
print(df)
输出:
Value
Group
A 1
A 2
B 4
B 5
这将删除具有最大值的行,并打印结果数据框架。
上一篇:按组删除给定日期之前的观察数据
下一篇:按组删除连续相同的行