在python中查找文本文件的大多数和最不频繁的行

时间:2018-04-20 15:03:10

标签: python pandas counter mode

我有一个文本文件,其中只有一列包含文本内容。我想找出前3个最常用的项目和3个最不频繁的项目。我在其他帖子中尝试了一些解决方案,但我无法得到我想要的东西。我尝试找到如下所示的模式,但它只输出所有行。我也尝试使用计数器和最常用的函数,但它们做同样的事情,即打印文件中的所有行。任何帮助表示赞赏。

# My Code

import pandas as pd

df = pd.read_csv('sample.txt')

print(df.mode())

1 个答案:

答案 0 :(得分:2)

您可以使用Python内置的counter

from collections import Counter

# Read file directly into a Counter
with open('file') as f:
    cnts = Counter(l.strip() for l in f)

# Display 3 most common lines
cnts.most_common(3)

# Display 3 least common lines
cnts.most_common()[-3:]