如何根据熊猫中的价值计数列出价值

时间:2018-09-21 10:33:46

标签: python pandas dataframe count

我有一个这样的数据框

   name
    a
    s
    d
    a
    s
    d
    f
    a
    s
    a
    s

我最终需要根据价值计数获得前3个值。我确实获得了价值计数。我曾经使用过data2['name'].value_counts(sort=True,ascending=False)。 但是,除了值计数之外,我还需要前3个名称值。即,

[a,s,d]

2 个答案:

答案 0 :(得分:1)

函数Series.value_counts具有默认参数sort=Trueascending=False,因此应省略。然后通过索引过滤index值并转换为list

L = data2['name'].value_counts().index[:3].tolist()
print (L)
['a', 's', 'd']

另一种解决方案:

from collections import Counter
L = [i for i, j in Counter(data2['name']).most_common(3)]
print (L)
['a', 's', 'd']

答案 1 :(得分:1)

您还可以使用Series.nlargest,因此排序参数无关紧要:

data2['name'].value_counts().nlargest(3).index