Python “函数”对象没有属性“列”

Python “函数”对象没有属性“列”,python,pandas,Python,Pandas,我尝试将列编码为类别 我无法处理数据帧,因为所有列都是dtypes:object 我的代码是: categorize_column=lambda x:x.astype'category' df.columns=df.columns.applycategorize_列,轴=0 我得到一个错误: “function”对象没有属性“columns”,根据: 数据帧中的所有列都可以批量转换为分类列 在施工期间或之后 这可以在构造过程中通过在中指定dtype=category来完成 数据帧构造函数: 所以

我尝试将列编码为类别

我无法处理数据帧,因为所有列都是dtypes:object

我的代码是:

categorize_column=lambda x:x.astype'category'

df.columns=df.columns.applycategorize_列,轴=0

我得到一个错误:

“function”对象没有属性“columns”

,根据:

数据帧中的所有列都可以批量转换为分类列 在施工期间或之后

这可以在构造过程中通过在中指定dtype=category来完成 数据帧构造函数:

所以你有两个选择:

在数据帧构造df=pd期间指定dtype='category' 将现有数据帧列转换为dtype category df=df.astype'category' 示例中的df.columns通常返回pandas.core.indexes.base.Index,您可以将其视为列标题列表。它没有.apply方法pd.Series和pd.DataFrame do,并且它与数据帧中的值无关


另外,您似乎意外地为df分配了一个函数。如果要尝试第二种方法,则需要先重新创建数据帧。

可能是df.applycategorize\u列,axis=0什么是typedf?也许您不小心给变量名df分配了一个函数。@Turmacu一点问题都没有,欢迎使用SO!如果你觉得我很好地回答了你的问题,考虑一下答案。你可以随时改变你的决定。稍后,您可以获得向上/向下投票问题和答案的特权。向上投票和接受答案有助于将好的内容推向顶端。通常担任不同的角色,要求澄清、建设性的批评或添加次要信息。