我的dataframe
有一个包含各种类型值的列,我希望得到最多的一个:
在这种情况下,我想获得标签FM-15
,所以稍后我可以查询仅由此标记的数据。
我该怎么做?
现在我可以逃脱:
most_count = df['type'].value_counts().max()
s = df['type'].value_counts()
s[s == most_count].index
返回
Index([u'FM-15'], dtype='object')
但我觉得这很难看,我不知道如何使用这个Index()
对象来查询df
。我只知道类似df = df[(df['type'] == 'FM-15')]
的内容。
答案 0 :(得分:4)
使用argmax
:
lbl = df['type'].value_counts().argmax()
要查询,
df.query("type==@lbl")