按照idxmax分组后返回整行,可以使用pandas库来实现。下面是一个示例代码:
import pandas as pd
# 创建一个示例数据集
data = {'Group': ['A', 'A', 'B', 'B', 'C'],
'Value1': [1, 2, 3, 4, 5],
'Value2': [6, 7, 8, 9, 10]}
df = pd.DataFrame(data)
# 按照Group列进行分组,并返回每个分组中Value1列取得最大值的整行数据
result = df.groupby('Group').apply(lambda x: x.loc[x['Value1'].idxmax()])
print(result)
输出结果如下:
Group Value1 Value2
Group
A A 2 7
B B 4 9
C C 5 10
这段代码首先创建一个示例数据集,并使用groupby
方法按照'Group'列进行分组。然后,使用apply
方法对每个分组应用一个lambda函数。lambda函数中的x
代表每个分组的DataFrame。x['Value1'].idxmax()
用于找到每个分组中Value1列取得最大值的索引。使用loc
方法可以根据索引获取整行数据。
最后,将每个分组中Value1列取得最大值的整行数据返回为一个新的DataFrame。