TypeError: only size-1 arrays can be converted to Python scalars

正在愉快写代码的我
在这里插入图片描述
???????????
源代码也很简单
TypeError: only size-1 arrays can be converted to Python scalars_第1张图片
之后可以解决,比如
TypeError: only size-1 arrays can be converted to Python scalars_第2张图片
再比如:
TypeError: only size-1 arrays can be converted to Python scalars_第3张图片
但是那样究竟为什么不对呢?

plt.bar(x = x,height=data,width=0.8,align=‘center’)

这样为什么会出现错误呢?不应该呀!
1、首先问题出现在x值,因为data共有358个数据,所以x被赋值为1到358作为纵坐标
2、难道是x的类型不对,经过查阅x可以是numpy类型

不经意之间改了N多长时间,脑子昏昏
无意中尝试将下面这行删除

TypeError: only size-1 arrays can be converted to Python scalars_第4张图片
这时候可以运行了,但是画出来的却是空图
????
TypeError: only size-1 arrays can be converted to Python scalars_第5张图片
换了一些数据,如果将height = data改为
height = x
则可以画出来如图所示

TypeError: only size-1 arrays can be converted to Python scalars_第6张图片
那么现在可以确认,问题出在了data上面,应该是data的数据类型不对,(但是我看别人的代码这种数据类型就可以运行呀!小声逼逼)

data = data.values.tolist()

TypeError: only size-1 arrays can be converted to Python scalars_第7张图片
是list了,但是不对

data = data[0].tolist()

这里需要将一下,在上面的操作中我们将
data.columns = [‘data’]
删除了以后,系统会默认给我们一个列名,而这个列名就是 0
那么现在运行
TypeError: only size-1 arrays can be converted to Python scalars_第8张图片
,终于画出来了。
那么,如果这里加列名可以,那么…
TypeError: only size-1 arrays can be converted to Python scalars_第9张图片
竟然运行成功了,
TypeError: only size-1 arrays can be converted to Python scalars_第10张图片
我TM,
***********************************

最后的最后,我还是不知道

TypeError: only size-1 arrays can be converted to Python scalars

运行错误是什么原因,但是我想要明白的好像已经知道了

虽然是一个小小的错误,却花费了我一下午的时间。但是问题解决的时候内心却还有一点点开心,所以在这里希望大家都有一颗好奇且充满求知欲的心

你可能感兴趣的:(python,画图,pandas)