解决:TypeError: Cannot interpret ‘<attribute ‘dtype‘ of ‘numpy.generic‘ objects>‘ as a data type

最近安装了一个新库:

tensorflow

之后我原来的一些代码就不好使了。

比如下面的语句:

df.info()


df['year'].value_counts().plot(kind='bar')

提示错误:

Traceback (most recent call last):
  File "D:/pyprogect/excellianxi/条形图的绘制.py", line 6, in <module>
    df.info()
  File "D:\anaconda2019\lib\site-packages\pandas\core\frame.py", line 2557, in info
    mem_usage = self.memory_usage(index=True, deep=deep).sum()
  File "D:\anaconda2019\lib\site-packages\pandas\core\frame.py", line 2655, in memory_usage
    result = Series(self.index.memory_usage(deep=deep), index=["Index"]).append(
  File "D:\anaconda2019\lib\site-packages\pandas\core\series.py", line 311, in __init__
    data = sanitize_array(data, index, dtype, copy, raise_cast_failure=True)
  File "D:\anaconda2019\lib\site-packages\pandas\core\internals\construction.py", line 712, in sanitize_array
    subarr = construct_1d_arraylike_from_scalar(value, len(index), dtype)
  File "D:\anaconda2019\lib\site-packages\pandas\core\dtypes\cast.py", line 1233, in construct_1d_arraylike_from_scalar
    subarr = np.empty(length, dtype=dtype)
TypeError: Cannot interpret '<attribute 'dtype' of 'numpy.generic' objects>' as a data type

问了一下我AI哥:

这段错误信息表示在尝试使用Pandas库绘制条形图时遇到了问题。错误发生在尝试创建一个条形图时,具体的错误类型是TypeError,提示无法将<attribute 'dtype' of 'numpy.generic' objects>解释为一个数据类型。

这个问题通常是由于在df['year']中包含了非数值类型的数据,而条形图需要数值类型的数据来绘制。value_counts()函数用于计算每个唯一值出现的次数,如果df['year']列中有非数值类型的数据,那么在尝试进行数值操作时就会引发这个错误。

要解决这个问题,你可以采取以下步骤:

  1. 检查df['year']列的数据类型,确保它只包含数值类型的数据。你可以使用df['year'].dtypes来查看数据类型。

  2. 如果df['year']列中确实包含了非数值类型的数据,你需要进行数据清洗,将这些非数值类型的数据转换为数值类型或者从数据集中移除。

  3. 一旦确认df['year']列只包含数值类型的数据,再次尝试绘制条形图。

 但是我发现的我的数据没啥问题啊,于是我就想是不上两天安装库影响我的pandas了,于是开始:更新库。

pip install --upgrade pandas

很好!解决问题了!

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

执沐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值