如何在Pandas数据帧(Python)中查找语料库中最常用的单词

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Pandas数据帧(Python)中查找语料库中最常用的单词相关的知识,希望对你有一定的参考价值。

我有Pandas数据框,如下所示。我已经对我的文本文件进行了标记,并使用NLTK Countvectorizer转换为pandas数据帧。另外,我已经从我的偶像中删除了停用词和标点符号。我试图在pandas数据帧中查找我的语料库中最常用的单词。在下面的数据框中,诸如“aaron”和“abandon”之类的单词大于10次,因此这些单词应该在新的数据帧中。

注意:我是python的新手,我不知道如何实现它。提供代码说明。

数据框的子集

我已经清理了我的语料库,我的dataframe看起来像跟随

{'aaaahhhs': {990: 0, 991: 0, 992: 0, 993: 0, 994: 0, 995: 0, 996: 0, 997: 0, 998: 0, 999: 0, 1000: 1}, 'aahs': {990: 0, 991: 0, 992: 0, 993: 0, 994: 0, 995: 0, 996: 0, 997: 0, 998: 0, 999: 0, 1000: 1}, 'aamir': {990: 0, 991: 0, 992: 0, 993: 0, 994: 0, 995: 0, 996: 0, 997: 0, 998: 0, 999: 0, 1000: 1}, 'aardman': {990: 0, 991: 0, 992: 0, 993: 0, 994: 0, 995: 0, 996: 0, 997: 0, 998: 0, 999: 0, 1000: 2}, 'aaron': {990: 0, 991: 0, 992: 0, 993: 0, 994: 0, 995: 0, 996: 4, 997: 0, 998: 0, 999: 0, 1000: 14}, 'abandon': {990: 0, 991: 0, 992: 0, 993: 0, 994: 0, 995: 0, 996: 0, 997: 0, 998: 0, 999: 0, 1000: 16}}

enter image description here

答案

如果需要前N个字:

N = 2 
print (df.sum().nlargest(N).index)
Index(['aaron', 'abandon'], dtype='object')

另一种方案:

print (df.sum().sort_values(ascending=False).index[:N])
Index(['aaron', 'abandon'], dtype='object')

如果需要也计入一列DataFrameSeries(删除to_frame):

N = 2
print (df.sum().nlargest(N).to_frame('count'))
         count
aaron       18
abandon     16
print (df.sum().sort_values(ascending=False).iloc[:N].to_frame('count'))
         count
aaron       18
abandon     16

如果需要2列DataFrame

print (df.sum().nlargest(N).rename_axis('word').reset_index(name='count'))
      word  count
0    aaron     18
1  abandon     16

print (df.sum()
         .sort_values(ascending=False).iloc[:N]
         .rename_axis('word')
         .reset_index(name='count'))
      word  count
0    aaron     18
1  abandon     16
另一答案

尝试:

dftop2 = pd.DataFrame(df.sum().sort_values(ascending=False).head(2))

你得到:

         0
aaron   18
abandon 16

以上是关于如何在Pandas数据帧(Python)中查找语料库中最常用的单词的主要内容,如果未能解决你的问题,请参考以下文章

python 使用datetime列查找pandas数据帧中的时间漏洞

如何在 python pandas 循环中对数据帧执行操作

如何在 hdf5 中有效地保存 python pandas 数据帧并将其作为 R 中的数据帧打开?

python:pandas - 如何将前两行 pandas 数据帧组合到数据帧头?

Python Pandas:如何在数据帧的每行中选择两个相等的列

Python 3:如何在不保存在磁盘上的情况下将 pandas 数据帧作为 csv 流上传?