错误通过的项目数 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']&gt;datamax['Data_Value']]

【问题讨论】:

请告知人们哪条线路出现错误。另外,在第一个代码中,breakupbreakdown 定义在哪里? @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:错误的项目数通过 3,位置暗示 1

错误 **ValueError: 传递的项目数错误 2,位置暗示 1**

ValueError:错误的项目数通过 500,位置暗示 1,Python 和 Pandas

ValueError:传递的项目数错误 1,位置暗示 2

过滤 Pandas DataFrame 列错误:传递的项目数错误 4,位置暗示 1

Pandas DataFrame ValueError:传递的项目数错误 2,位置暗示 1