如何获取具有最常值的数据帧?

时间:2018-02-11 07:35:27

标签: python pandas

Pandas数据帧:

Player_name  Age  Calender_Year  Runs
Sid          21   2016           800
Harsh        22   2016           900        
Sid          22   2017           850
Ravi         20   2017           910    
Sumit        20   2016           760
Sumit        21   2017           690
Raj          19   2016           1100
Sid          20   2015           550
Raj          20   2017           770

我希望获得基于Player_name的结果,该结果重复次数最多。 输出应如下(数据帧格式):

Player_name  Age  Calender_Year  Runs
Sid          21   2016           800
Sid          22   2017           850
Sid          20   2015           550

任何人都可以帮我解决这个问题。

1 个答案:

答案 0 :(得分:0)

首先按value_counts选择第一个索引获取最高价值,然后按boolean indexingquery过滤:

a = df.Player_name.value_counts().index[0]
print (a)
Sid

df = df[df.Player_name == a]
#alternative
#df = df.query('Player_name == @a')
print (df)
  Player_name  Age  Calender_Year  Runs
0         Sid   21           2016   800
2         Sid   22           2017   850
7         Sid   20           2015   550