我尝试将列编码为类别。
由于所有列均为dtypes:对象,因此无法处理数据框。
我的代码是:
categorize_column = lambda x:x.astype('category')
df.columns = df.columns.apply(categorize_column,axis = 0)
我得到一个错误:
“功能”对象没有属性“列”
答案 0 :(得分:1)
根据docs:
DataFrame中的所有列都可以批量转换为分类 在施工期间或施工之后。
这可以在构造期间通过在以下位置指定dtype =“ category”完成 DataFrame构造函数:
因此,您有两种选择:
dtype='category'
期间指定df = pd.DataFrame(data, dtype='category')
df = df.astype('category')
df.columns
通常返回一个pandas.core.indexes.base.Index
,您可以将其视为列标题列表。它没有.apply
方法(pd.Series
和pd.DataFrame
有),并且与DataFrame中的值无关。
而且,您似乎不小心将功能分配给了df
。如果要尝试第二种方法,则需要先重新创建DataFrame。