错误通过的项目数 5,位置暗示 1
Posted
技术标签:
【中文标题】错误通过的项目数 5,位置暗示 1【英文标题】:Wrong number of items passed 5, placement implies 1 【发布时间】:2020-09-17 10:08:15 【问题描述】:我正在尝试在同一个图上创建折线图和散点图。应该有两条线和两个散点图。
datamax['datamax'] = datamax2015['Data_Value']
datamin['datamin'] = datamin2015['Data_Value']
ax = plt.gca()
datamax.plot(kind='line',x='Date',y='Data_Value',color='red',ax=ax)
datamin.plot(kind='line',x='Date',y='Data_Value', color='blue',ax=ax)
datamax.plot(kind='scatter',x='Date',y='breakup',color='red',ax=ax)
datamin.plot(kind='scatter',x='Date',y='breakdown', color='blue',ax=ax)
plt.ylabel("Temperature (degrees C)",color='navy')
plt.xlabel("Date",color='navy',labelpad=15)
plt.title('Record high and low temperatures by day (2005-2014)', alpha=1.0,color='brown',y=1.08)
ax.legend(loc='upper center', bbox_to_anchor=(0.5, -0.35),
fancybox=False,labels=['Record high','Record low'])
plt.xticks(rotation=30)
plt.fill_between(range(len(datamax['Date'])), datamax['Data_Value'], datamin['Data_Value'],color='yellow',alpha=0.8)
plt.show()
但是,我不断收到错误消息:
ValueError:错误传递的项目数 5,位置暗示 1
当我将代码修改为:
datamax['datamax'] = datamax2015['Data_Value']
datamin['datamin'] = datamin2015['Data_Value']
datamax['breakup'] = datamax[datamax['datamax']>datamax['Data_Value']]
datamin['breakdown'] = datamin[datamin['datamin']<datamin['Data_Value']]
ax = plt.gca()
datamax.plot(kind='line',x='Date',y='Data_Value',color='red',ax=ax)
datamin.plot(kind='line',x='Date',y='Data_Value', color='blue',ax=ax)
plt.ylabel("Temperature (degrees C)",color='navy')
plt.xlabel("Date",color='navy',labelpad=15)
plt.title('Record high and low temperatures by day (2005-2014)', alpha=1.0,color='brown',y=1.08)
ax.legend(loc='upper center', bbox_to_anchor=(0.5, -0.35),
fancybox=False,labels=['Record high','Record low'])
plt.xticks(rotation=30)
plt.fill_between(range(len(datamax['Date'])), datamax['Data_Value'], datamin['Data_Value'],color='yellow',alpha=0.8)
plt.show()
代码有效,并给了我输出:
谁能告诉我我做错了什么?
这一行给了我错误:datamax['breakup'] = datamax[datamax['datamax']>datamax['Data_Value']]
【问题讨论】:
请告知人们哪条线路出现错误。另外,在第一个代码中,breakup
和 breakdown
定义在哪里?
@Sheldore 上面已经编辑过了,breakup 和breakdown 是dataframe datamax 和datamin 中新列的名称
【参考方案1】:
您正在使用整个数据框并将其分配给单个列。我认为你需要以下条件
datamax['breakup'] = datamax['datamax'][datamax['datamax']>datamax['Data_Value']]
datamin['breakdown'] = datamin['datamin'][datamin['datamin']<datamin['Data_Value']]
【讨论】:
以上是关于错误通过的项目数 5,位置暗示 1的主要内容,如果未能解决你的问题,请参考以下文章
错误 **ValueError: 传递的项目数错误 2,位置暗示 1**
ValueError:错误的项目数通过 500,位置暗示 1,Python 和 Pandas