首页 > 解决方案 > 我需要确定如何绘制搜索词数据中另一个变量(国家)使用的最常用词以及相应的国家

问题描述

所以我对 python 比较陌生,并且在让我的数据按我需要的方式排序/显示时遇到了问题。背景 - 我正在做一个项目,在一年的时间范围内(每日条目)按国家/地区使用 Bing 冠状病毒相关搜索,以及 covid 病例率/死亡率,并执行 NLP 的某些方面以尝试查看搜索词中是否存在模式对应于病例数的上升或下降。

所以这就是我现在所处的位置:必应搜索数据集和 covid 病例率/死亡率数据集已按国家/地区加入。生成的数据集已加载到 jupyter 笔记本中,并且搜索短语已被标记以将它们分解为单个单词。我使用 FreqDist 函数来查找数据集中最常见的单词。我希望能够绘制的是按国家/地区划分的最常见的词。我一直无法弄清楚如何显示最常用的单词和其他变量。我会发布代码,任何帮助将不胜感激!

import pandas as pandas
BingSearchData = pandas.read_table('C:')

bingData = list(BingSearchData)

print(bingData[0:])

['日期','国家','查询','IsImplicitIntent','PopularityScore','人口','total_cases','new_cases','new_cases_smoothed','total_cases_per_million','new_cases_per_million','new_cases_smoothed_per_million',' total_case_rate','new_case_rate','life_expectancy','gdp_per_capita','human_development_index']

from nltk import word_tokenize
from nltk.probability import FreqDist

from tidytext import unnest_tokens
BingSearchWords = unnest_tokens(BingSearchData, "word", "Query")

fdist = FreqDist(BingSearchWords.word)
fdist.most_common(20)

[('coronavirus', 2628183), ('covid', 871229), ('covid19', 586030), ('update', 356682), ('in', 332539), ('cases', 257723), ( 'county', 193808), ('of', 148984), ('for', 118683), ('vaccine', 115910), ('uk', 112210), ('how', 108276), ('map ', 101730), ('deaths', 92919), ('health', 90316), ('the', 84431), ('news', 82694), ('de', 73405), ('usa', 71212), ('今天', 70571)]

标签: pythonsortingplotnlpfrequency

解决方案


推荐阅读