返回pandas数据帧行中最常出现的元素

时间:2016-01-19 12:16:02

标签: python pandas dataframe

我有一个pandas DataFrame,其中的列包含如下字符串:

sql select command

现在我想返回最常用的名字,在这个例子中' b'。我知道我可以通过迭代行并保留一个计数器来做到这一点,但必须有一个更优雅的方法来做到这一点。

3 个答案:

答案 0 :(得分:3)

您可以访问value_counts {{3}}对其进行排序的事件:

index

来自In [85]: df['name'].value_counts().index[0] Out[85]: 'b' 的输出:

value_counts

答案 1 :(得分:3)

您可以使用value_countsargmax

In [221]: df.name.value_counts().argmax()
Out[221]: 'b'

答案 2 :(得分:0)

您可以使用value_countsfirst_valid_indexidxmaxargmax相同的内容:

"submit"()

<强>计时

这些时间将取决于s的大小以及值的数量(和位置):

print df.name.value_counts().first_valid_index()
#b
print df.name.value_counts().idxmax()
#b