绘制数据框 - Python

时间:2016-12-12 16:04:39

标签: python datetime twitter plot dataframe

我很确定你可以提供帮助。我只是在社交媒体挖掘中写论文,我对这类东西很新,所以请耐心等待我;)

我在推特上发表意见,因为我已经发了很多推文。然后我将推文聚集了一段时间,例如:在01.12.2016 02:30:00和01.12.2016 05:30:00之间流式传输的所有推文。然后我分析了推文以获得一个值,该值代表了这一时期的推文的总和。所以每个时期都有一定的价值。现在我想要想象我的发现,但实际上我不知道如何。我猜不应该这么难。 我有一个dict(结果)和两个键(date(datetime_object)和opinion(int))。现在我想绘制一个折线图,其中y轴是意见,x轴是日期时间。

results={"Date":[datetime_object1,datetime_object2,..],"Opinion":[235,158,...]}

我没有如何将日期时间对象放入x轴。

提前做了很多!

沃尔克

1 个答案:

答案 0 :(得分:0)

如果您将数据存储为字典,我建议您使用pandas.DataFrame.from_record将其放入pandas DataFrame中。然后,您可以使用DataFrame.plot绘制数据。下面是一个创建多索引pandas DataFrame的示例,重置该级别,然后绘制意见与日期时间。

import pandas
import numpy
import matplotlib.pyplot as plt

date_range = pandas.date_range('2016-01-01', '2016-02-01', freq='D')
results = numpy.random.normal(size=len(date_range))
opinions = [235, 158, 162, 150, 245, 132, 178, 200] * 4
numpy.random.shuffle(opinions)
df = pandas.DataFrame(results, index=[date_range, opinions], columns=['result'])
df.index.names = ['date', 'opinion']

# here I plot the opinion vs date directly, but you could
# assign a variable to it or the dataframe if you want to do fancier
# things with the plot
df.reset_index(level=1)['opinion'].plot()
plt.show()