我有一个pandas DataFrame,其中的列包含如下字符串:
sql select command
现在我想返回最常用的名字,在这个例子中' b'。我知道我可以通过迭代行并保留一个计数器来做到这一点,但必须有一个更优雅的方法来做到这一点。
答案 0 :(得分:3)
您可以访问value_counts
{{3}}对其进行排序的事件:
index
来自In [85]:
df['name'].value_counts().index[0]
Out[85]:
'b'
的输出:
value_counts
答案 1 :(得分:3)
您可以使用value_counts
和argmax
:
In [221]: df.name.value_counts().argmax()
Out[221]: 'b'
答案 2 :(得分:0)
您可以使用value_counts
和first_valid_index
或idxmax
与argmax
相同的内容:
"submit"()
<强>计时强>:
这些时间将取决于s的大小以及值的数量(和位置):
print df.name.value_counts().first_valid_index()
#b
print df.name.value_counts().idxmax()
#b