如何使用python在Matplotlib中绘制单词出现的时间序列?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用python在Matplotlib中绘制单词出现的时间序列?相关的知识,希望对你有一定的参考价值。
我有一个包含此内容的文本文件
'word' , 'timestamp'
word1 , 1546403642
word2 , 1546392481
word1 , 1546403642
word3 , 1546394402
...
第一个字段是单词(10个字最大值,多次出现),第二个字段是该字出现的时间戳。
我没有问题,阅读这个文件并用Pandas解析这个CSV文件并将linux时间戳转换为另一种格式,但我不知道如何将它放在Matplotlib中以显示每个单词出现的时间,如下所示:
我正在寻找一个提示或库或关闭如何绘制这个例子,我在时间序列中找不到任何接近的例子,就像这样。
我在this和this链接中找到了一些例子,但我不能将它们应用于我的数据,因为它们在每一行中都有出现次数,但我没有。
任何帮助,将不胜感激。
答案
您需要决定在什么时间范围内聚合字数,例如,假设您想要按月计数,您可以这样做:
import pandas as pd
df['timestamp'] = pd.to_datetime(df['timestamp'])
df.set_index('timestamp',inplace=True)
df = pd.get_dummies(df)
df = df.resample('1M').sum()
get_dummies将为每个单词创建一个列,并给出0或1的值。之后,按照您选择的时间范围重新采样并通过求和将其聚合,因此结果就是出现次数。
现在,您可以通过您提供的链接中的教程来绘制它。
以上是关于如何使用python在Matplotlib中绘制单词出现的时间序列?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 matplotlib 在 python 中绘制 3D 密度图
如何在 python 中使用 matplotlib 和 pandas 绘制 CSV 数据
如何使用python在Matplotlib中绘制单词出现的时间序列?