在python中最多出现打印名称和数据计数

时间:2019-04-21 16:03:29

标签: python group-by max

我需要在csv文件的一栏中打印出现次数最多的赛马场的名称。

我已经尝试过了:

popular_course = (race_data.groupby(race_data.Race_Course.tolist(),as_index=False).size())
print(popular_course)

我的输出是:

Aintree        3
Ayr            6
Fairyhouse     3
Punchestown    3
Sandown        3
dtype: int64

当我将打印功能更改为此:

print(popular_course.max())

我明白了:

6

我还需要打印功能来打印赛马场的名称,因此看起来像这样:

Ayr            6

如何获取包含赛马场的名称?

1 个答案:

答案 0 :(得分:0)

有很多方法可以解决这个问题。关键是受欢迎的课程是系列,因此您正在寻找最大值以及该最大值的相应索引。

使用您现有的方法:

race_courses_sized = race_data.groupby('Race_Course').size()
print(race_courses_sized[race_courses_sized == race_courses_sized.max()])

另一个版本

pd.DataFrame(race_data['Race_Course'].value_counts()).head(1)