【问题标题】:TypeError: 'Series' object is not callable when accessing dtypes of a dataframeTypeError:访问数据框的数据类型时,“系列”对象不可调用
【发布时间】:2018-08-17 14:40:43
【问题描述】:

什么鬼? 我没有将关键字更改为读取目录中的文本文件。

但我无法通过我知道的两种方法检查每列的 dtype。

如果我使用.dtypes,它将返回 TypeError 表明 Series is not callable:

这里它返回 AttributeError.. 现在声称我读的是数据框:

有什么想法吗?

【问题讨论】:

  • 将代码或数据作为图片发布是不好的。无法将图片复制并粘贴到代码编辑器中。因此,有人提供帮助会更加困难,因此也不太可能。要充分利用该站点,ask good questions 很重要,其中包括创建一个 Minimal, Complete, and Verifiable 示例。

标签: python pandas dataframe typeerror


【解决方案1】:

这里没有歧义。 file 是一个数据框,dtypes 是一个属性。

df
        productView  order
userId                    
A               4.5    5.0
B               1.5    2.5
C               4.0    2.0
D               2.0    3.0

df.dtypes
productView    float64
order          float64
dtype: object

当你访问dtypes时,返回一个Series:

type(df.dtypes)
pandas.core.series.Series

当您调用df.dtypes() 时,您实际上是在执行无效的series = df.dtype; series(),因为series 是一个对象(不是函数,也不是定义了__call__ 的对象)。

在第二种情况下,dtype 甚至不是df 的有效属性/方法,因此引发了AttributeError

TLDR;第一个错误是在dtype 系列上引发的,第二个是在原始数据帧df 上引发的。

【讨论】:

    猜你喜欢
    • 2019-08-09
    • 1970-01-01
    • 2013-05-05
    • 2018-08-06
    • 1970-01-01
    • 2019-09-01
    • 2011-08-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多