Jupyter Notebook中一行代码设置索引并绘制折线图求助
解决一行代码绘制折线图的问题
你的错误根源是代码的括号和链式调用顺序错了——你现在的写法dataframe.set_index('Year'),['AUD']会把set_index的结果和['AUD']变成一个元组,然后你试图给这个元组调用plot(),自然会报'list' object has no attribute 'plot'的错误。
要实现一行代码完成绘图,只需要调整链式调用的逻辑就行,给你两种实用的写法:
写法一:链式调用完成索引设置+列选择+绘图
dataframe.set_index('Year')['AUD'].plot()
这里set_index('Year')会返回一个以Year为索引的新DataFrame,接着直接用['AUD']选中目标数据列,最后链式调用plot()即可,全程不需要中间变量。
写法二:直接用plot的参数指定轴(更简洁)
其实还有更省心的方式,不用手动修改DataFrame索引,直接在绘图函数里指定x轴和y轴对应的列:
dataframe.plot(x='Year', y='AUD')
这种写法不需要改动原数据结构,直接告诉绘图函数用哪一列做横轴、哪一列做纵轴,一行代码就能生成你要的折线图。
两种方式都能满足需求,如果你之后还需要用到以Year为索引的DataFrame,选第一种更合适;如果只是单纯完成绘图任务,第二种写法更高效。
内容的提问来源于stack exchange,提问作者NZ_DJ
相关产品推荐
相关产品推荐

