Python ValueError:x和y不能大于2-D,但具有形状(2,1,1)和(2,)
源代码Python ValueError:x和y不能大于2-D,但具有形状(2,1,1)和(2,),python,python-3.x,pandas,matplotlib,data-visualization,Python,Python 3.x,Pandas,Matplotlib,Data Visualization,源代码 cyprus_predicted_life_satisfaction = lin1.predict(cyprus_gdp_per_capita)[0][0] #cyprus_predicted_life_satisfaction = lin1.predict(cyprus_gdp_per_capita) cyprus_predicted_life_satisfaction 输出:数组([[5.96244744]]) 错误 -------------------------------
cyprus_predicted_life_satisfaction = lin1.predict(cyprus_gdp_per_capita)[0][0]
#cyprus_predicted_life_satisfaction = lin1.predict(cyprus_gdp_per_capita)
cyprus_predicted_life_satisfaction
输出:数组([[5.96244744]])
错误
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-36-c7d7af89ced4> in <module>
5 plt.text(5000, 7.5, r"$\theta_0 = 4.85$", fontsize=14, color="b")
6 plt.text(5000, 6.6, r"$\theta_1 = 4.91 \times 10^{-5}$", fontsize=14, color="b")
----> 7 plt.plot([cyprus_gdp_per_capita, cyprus_gdp_per_capita], [0, cyprus_predicted_life_satisfaction], "r--")
8 plt.text(25000, 5.0, r"Prediction = 5.96", fontsize=14, color="b")
9 plt.plot(cyprus_gdp_per_capita, cyprus_predicted_life_satisfaction, "ro")
~/anaconda3/lib/python3.7/site-packages/matplotlib/pyplot.py in plot(scalex, scaley, data, *args, **kwargs)
2809 return gca().plot(
2810 *args, scalex=scalex, scaley=scaley, **({"data": data} if data
-> 2811 is not None else {}), **kwargs)
2812
2813
~/anaconda3/lib/python3.7/site-packages/matplotlib/__init__.py in inner(ax, data, *args, **kwargs)
1808 "the Matplotlib list!)" % (label_namer, func.__name__),
1809 RuntimeWarning, stacklevel=2)
-> 1810 return func(ax, *args, **kwargs)
1811
1812 inner.__doc__ = _add_data_doc(inner.__doc__,
~/anaconda3/lib/python3.7/site-packages/matplotlib/axes/_axes.py in plot(self, scalex, scaley, *args, **kwargs)
1609 kwargs = cbook.normalize_kwargs(kwargs, mlines.Line2D._alias_map)
1610
-> 1611 for line in self._get_lines(*args, **kwargs):
1612 self.add_line(line)
1613 lines.append(line)
~/anaconda3/lib/python3.7/site-packages/matplotlib/axes/_base.py in _grab_next_args(self, *args, **kwargs)
391 this += args[0],
392 args = args[1:]
--> 393 yield from self._plot_args(this, kwargs)
394
395
~/anaconda3/lib/python3.7/site-packages/matplotlib/axes/_base.py in _plot_args(self, tup, kwargs)
368 x, y = index_of(tup[-1])
369
--> 370 x, y = self._xy_from_xy(x, y)
371
372 if self.command == 'plot':
~/anaconda3/lib/python3.7/site-packages/matplotlib/axes/_base.py in _xy_from_xy(self, x, y)
232 if x.ndim > 2 or y.ndim > 2:
233 raise ValueError("x and y can be no greater than 2-D, but have "
--> 234 "shapes {} and {}".format(x.shape, y.shape))
235
236 if x.ndim == 1:
ValueError: x and y can be no greater than 2-D, but have shapes (2, 1, 1) and (2,)
---------------------------------------------------------------------------
ValueError回溯(最近一次调用上次)
在里面
5 plt.text(5000,7.5,r“$\theta_0=4.85$”,fontsize=14,color=“b”)
6 plt.text(5000,6.6,r“$\theta_1=4.91乘以10^{-5}$”,fontsize=14,color=“b”)
---->7 plt.图([塞浦路斯人均gdp,塞浦路斯人均gdp],[0,塞浦路斯预测生活满意度],“r-”)
8 plt.text(25000,5.0,r“预测=5.96”,fontsize=14,color=“b”)
9 plt.地块(塞浦路斯人均gdp,塞浦路斯预测生活满意度,“ro”)
绘图中的~/anaconda3/lib/python3.7/site-packages/matplotlib/pyplot.py(scalex、scaley、data、*args、**kwargs)
2809返回gca().绘图(
2810*args,scalex=scalex,scaley=scaley,**({“数据”:data}如果数据
->2811不是别的{},**kwargs)
2812
2813
内部的~/anaconda3/lib/python3.7/site packages/matplotlib/__init__;.py(ax,数据,*args,**kwargs)
1808“Matplotlib列表!)”%(标签名称,函数名称),
1809运行时警告,堆栈级别=2)
->1810返回函数(ax,*args,**kwargs)
1811
1812内部.\uuuuu文档\uuuuu=\u添加数据\uu文档(内部.\uuuuu文档\uuuuuuuuuu),
绘图中的~/anaconda3/lib/python3.7/site-packages/matplotlib/axes//u axes.py(self、scalex、scaley、*args、**kwargs)
1609 kwargs=cbook.normalize_kwargs(kwargs,mlines.Line2D._alias_map)
1610
->1611用于自身中的行。获取行(*args,**kwargs):
1612自添加线(行)
1613行。追加(行)
~/anaconda3/lib/python3.7/site-packages/matplotlib/axes//u base.py in\u grab\u next\u args(self,*args,**kwargs)
391 this+=args[0],
392 args=args[1:]
-->393自绘制的收益率(本,kwargs)
394
395
~/anaconda3/lib/python3.7/site-packages/matplotlib/axes//u base.py in\u plot\u args(self、tup、kwargs)
368 x,y=指数(tup[-1])
369
-->370 x,y=self.\u xy\u自_xy(x,y)
371
372如果self.command==“绘图”:
~/anaconda3/lib/python3.7/site-packages/matplotlib/axes//u base.py in\u xy\u from\u xy(self,x,y)
232如果x.ndim>2或y.ndim>2:
233提升值错误(“x和y不能大于2-D,但具有”
-->234“形状{}和{}”。格式(x.shape,y.shape))
235
236如果x.ndim==1:
ValueError:x和y不能大于2-D,但具有形状(2,1,1)和(2,)
尝试过的解决方案
- 这个问题的维度问题与1D和3D相反,在我的例子中,是3D和1D-
- 没有回答:
- 没有回答-
重塑
:
a=np.random.random(大小=(2,1,1))
a、 形状
>> (2, 1, 1)
a=a.重塑(-1,)
a、 形状
>> (2,)
如果这不能解决您的问题,请提供示例数据
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-36-c7d7af89ced4> in <module>
5 plt.text(5000, 7.5, r"$\theta_0 = 4.85$", fontsize=14, color="b")
6 plt.text(5000, 6.6, r"$\theta_1 = 4.91 \times 10^{-5}$", fontsize=14, color="b")
----> 7 plt.plot([cyprus_gdp_per_capita, cyprus_gdp_per_capita], [0, cyprus_predicted_life_satisfaction], "r--")
8 plt.text(25000, 5.0, r"Prediction = 5.96", fontsize=14, color="b")
9 plt.plot(cyprus_gdp_per_capita, cyprus_predicted_life_satisfaction, "ro")
~/anaconda3/lib/python3.7/site-packages/matplotlib/pyplot.py in plot(scalex, scaley, data, *args, **kwargs)
2809 return gca().plot(
2810 *args, scalex=scalex, scaley=scaley, **({"data": data} if data
-> 2811 is not None else {}), **kwargs)
2812
2813
~/anaconda3/lib/python3.7/site-packages/matplotlib/__init__.py in inner(ax, data, *args, **kwargs)
1808 "the Matplotlib list!)" % (label_namer, func.__name__),
1809 RuntimeWarning, stacklevel=2)
-> 1810 return func(ax, *args, **kwargs)
1811
1812 inner.__doc__ = _add_data_doc(inner.__doc__,
~/anaconda3/lib/python3.7/site-packages/matplotlib/axes/_axes.py in plot(self, scalex, scaley, *args, **kwargs)
1609 kwargs = cbook.normalize_kwargs(kwargs, mlines.Line2D._alias_map)
1610
-> 1611 for line in self._get_lines(*args, **kwargs):
1612 self.add_line(line)
1613 lines.append(line)
~/anaconda3/lib/python3.7/site-packages/matplotlib/axes/_base.py in _grab_next_args(self, *args, **kwargs)
391 this += args[0],
392 args = args[1:]
--> 393 yield from self._plot_args(this, kwargs)
394
395
~/anaconda3/lib/python3.7/site-packages/matplotlib/axes/_base.py in _plot_args(self, tup, kwargs)
368 x, y = index_of(tup[-1])
369
--> 370 x, y = self._xy_from_xy(x, y)
371
372 if self.command == 'plot':
~/anaconda3/lib/python3.7/site-packages/matplotlib/axes/_base.py in _xy_from_xy(self, x, y)
232 if x.ndim > 2 or y.ndim > 2:
233 raise ValueError("x and y can be no greater than 2-D, but have "
--> 234 "shapes {} and {}".format(x.shape, y.shape))
235
236 if x.ndim == 1:
ValueError: x and y can be no greater than 2-D, but have shapes (2, 1, 1) and (2,)