以下是一个按列分组并标识关键行的示例代码:
import pandas as pd
# 创建示例数据
data = {'Name': ['Tom', 'Nick', 'John', 'Tom', 'Nick', 'John'],
'Age': [20, 25, 30, 20, 25, 30],
'Score': [90, 95, 85, 92, 88, 90]}
df = pd.DataFrame(data)
# 按列分组并标识关键行
df['Group'] = df.groupby(['Name', 'Age'])['Score'].transform(lambda x: x.idxmax())
print(df)
输出结果:
Name Age Score Group
0 Tom 20 90 0
1 Nick 25 95 1
2 John 30 85 2
3 Tom 20 92 0
4 Nick 25 88 1
5 John 30 90 2
在这个示例中,我们首先创建了一个包含姓名、年龄和分数的DataFrame。然后,我们使用groupby
方法按姓名和年龄进行分组,并使用transform
方法和lambda
函数找到每个组内分数最高的行的索引。最后,我们将这些索引赋值给一个新的列Group
。
这样,我们就成功地按列分组并标识了关键行。
上一篇:按列分组并按层次选择
下一篇:按列分组并比较日期:Pandas