如何使用python在Matplotlib中绘制单词出现的时间序列?

问题描述 投票:0回答:1

我有一个包含此内容的文本文件

   'word' , 'timestamp'
    word1 , 1546403642
    word2 , 1546392481
    word1 , 1546403642
    word3 , 1546394402
    ...

第一个字段是单词(10个字最大值,多次出现),第二个字段是该字出现的时间戳。

我没有问题,阅读这个文件并用Pandas解析这个CSV文件并将linux时间戳转换为另一种格式,但我不知道如何将它放在Matplotlib中以显示每个单词出现的时间,如下所示:enter image description here

我正在寻找一个提示或库或关闭如何绘制这个例子,我在时间序列中找不到任何接近的例子,就像这样。

我在thisthis链接中找到了一些例子,但我不能将它们应用于我的数据,因为它们在每一行中都有出现次数,但我没有。

任何帮助,将不胜感激。

python pandas numpy matplotlib
1个回答
1
投票

您需要决定在什么时间范围内聚合字数,例如,假设您想要按月计数,您可以这样做:

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的值。之后,按照您选择的时间范围重新采样并通过求和将其聚合,因此结果就是出现次数。

现在,您可以通过您提供的链接中的教程来绘制它。

© www.soinside.com 2019 - 2024. All rights reserved.