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

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

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

你可能感兴趣的:(TypeError: only size-1 arrays can be converted to Python scalars)