首页
学习
活动
专区
圈层
工具
发布

折线图
EN

Stack Overflow用户
提问于 2019-01-09 05:36:57
回答 1查看 43关注 0票数 0

我一直在努力使用Python3.5中关于航空乘客数据集的代码

代码语言:javascript
复制
from pandas import read_csv
from pandas import DataFrame
from pandas import Grouper
from matplotlib import pyplot

series = read_csv('AirPassengers.csv', header=None, index_col=0, 
parse_dates=True, squeeze=True)
groups = series['1949':'1960'].groupby(Grouper(freq='A'))
years = DataFrame()
pyplot.figure()
i = 1
n_groups = len(groups)
for name, group in groups:
    pyplot.subplot((n_groups*100) + 10 + i)
    i += 1
    pyplot.plot(group)
pyplot.show()

我得到以下错误:

代码语言:javascript
复制
    return self._engine.get_loc(self._maybe_cast_indexer(key))
  File "pandas\_libs\index.pyx", line 140, in pandas._libs.index.IndexEngine.get_loc
  File "pandas\_libs\index.pyx", line 162, in pandas._libs.index.IndexEngine.get_loc
  File "pandas\_libs\hashtable_class_helper.pxi", line 1492, in pandas._libs.hashtable.PyObjectHashTable.get_item
  File "pandas\_libs\hashtable_class_helper.pxi", line 1500, in pandas._libs.hashtable.PyObjectHashTable.get_item
KeyError: '1949'
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-09 05:55:00

我假设您使用的是Kaggle AirPassengers数据集。它有一个头,所以你应该省略header=None

代码语言:javascript
复制
series = read_csv('AirPassengers.csv', index_col=0, parse_dates=True, squeeze=True)

groups = series['1949':'1960'].groupby(Grouper(freq='A'))
pyplot.figure()
i = 1
n_groups = len(groups)

对于subplot:您可以使用subplot(xyz),但请注意,所有整数(x,y,z)必须小于10才能使此形式生效。

代码语言:javascript
复制
for name, group in groups:
    pyplot.subplot(n_groups, 1, i)
    i += 1
    pyplot.plot(group)
pyplot.show()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54100078

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档