我有一些代码将“对象”类型的DataFrame的所有列转换为“类别”。我只是遍历我的DF by列,该列已被过滤为对象类型,并获得唯一值比率低的对象来进行转换。
converted_obj = pd.DataFrame()
for col in df201911_obj.columns:
num_unique_values = len(df201911_obj[col].unique())
num_total_values = len(df201911_obj[col])
if num_unique_values / num_total_values < 0.5:
converted_obj.loc[:,col] = df201911_obj[col].astype('category')
else:
converted_obj.loc[:,col] = df201911_obj[col]
我收到AttributeError:'DataFrame'对象没有属性'unique'
由于有超过100列,我用循环检查了所有列的数据类型:
for col in df201911_obj.columns:
print(type(col))
它们都是:<class 'str'>
为什么会出现此错误?
答案 0 :(得分:0)
出现Attibute错误时,请先尝试重新加载所有库,然后重新加载系统中所有预定义的变量或其他数据框,然后删除导致问题的代码部分并重写代码(这可以修复任何语法错误)。
我尝试了上述修复程序,并在
AttributeError: 'DataFrame' object has no attribute 'dublicated'
我使用的是Google colabs,问题出在加载数据框