如何解决绘制时间序列图
日期 | 国家 | 价值 |
---|---|---|
2017-12-29 | 英国 | 1 |
2017-12-28 | 美国 | 4 |
2016-12-27 | 美国 | 7 |
2016-12-26 | 英国 | 3 |
2015-12-25 | 英国 | 4 |
2016-12-24 | 美国 | 9 |
2015-12-23 | 美国 | 10 |
2014-12-22 | 美国 | 11 |
2014-12-21 | 英国 | 6 |
这只是一个简单的问题,因为我是编码新手。我如何能够在 2 个单独的时间序列图上绘制这些值,以便我能够观察 2015 年和 2017 年之间这些值的趋势?我需要有 2 个单独的图表,一个可以让我观察英国的趋势,另一个可以让我观察美国的趋势。我正在使用熊猫来做到这一点。
非常感谢任何帮助,谢谢!
解决方法
您可以将 matplotlib 与 pandas 结合使用
import matplotlib.pyplot as plt
import pandas as pd
df = pd.DataFrame(
[
['2017-12-29','UK',1],['2017-12-28','USA',4],['2016-12-27',7],['2016-12-26',3],['2015-12-25',['2016-12-24',9],['2015-12-23',10],['2014-12-22',11],['2014-12-21',6,]
],columns=['Date','Country','Value'])
# gca stands for 'get current axis'
ax = plt.gca()
# make the string dates into date format
df['Date'] = pd.to_datetime(df['Date'],format='%Y-%m-%d')
# for each country in your country column,plot a line on the axis,ax
for country in df['Country'].value_counts().index.values:
df[df['Country']==country].plot(kind='line',x='Date',y='Value',ax=ax,label=country)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。