简体   繁体   English

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

[英]How to fetch a dataframe with the most frequent value?

Pandas dataframe: 熊猫数据框:

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

I am looking to get result based on Player_name which is repeated the most number of times. 我希望获得基于Player_name的结果,该结果被重复最多次。 Output should be as below (in dataframe format): 输出应如下所示(以数据帧格式):

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

Can anyone help me solve this problem. 谁能帮我解决这个问题。

First get top value by value_counts with select first index and then filter by boolean indexing or query : 首先通过使用选择的第一个索引的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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM