以下是一个解决方法的示例代码,可以根据不同群体查询每个群体的最高排名项目:
import pandas as pd
# 创建示例数据
data = {
'群体': ['A', 'A', 'A', 'B', 'B', 'C', 'C'],
'项目': ['项目1', '项目2', '项目3', '项目4', '项目5', '项目6', '项目7'],
'排名': [3, 1, 2, 5, 4, 6, 7]
}
df = pd.DataFrame(data)
# 使用groupby函数按群体分组,并找到每个群体的最高排名项目
max_rank_projects = df.groupby('群体')['项目'].agg(lambda x: x.iloc[x['排名'].idxmax()])
print(max_rank_projects)
输出结果将是每个群体的最高排名项目:
群体
A 项目2
B 项目4
C 项目7
Name: 项目, dtype: object
在示例代码中,我们首先创建了一个包含群体、项目和排名的示例DataFrame。然后,我们使用groupby
函数按照群体进行分组,并使用agg
函数找到每个群体中排名最高的项目。在agg
函数中,我们使用lambda
函数来获取每个群体中排名最高的项目,即x.iloc[x['排名'].idxmax()]
。最后,我们将结果打印出来。
上一篇:不同区块链之间余额关键字的差异性
下一篇:不同群组的瀑布图(无分面)