当尝试添加分类值时,Pandas 出现错误 "AttributeError: 'DataFrame' object has no attribute 'add_categories'"?

3

我先前在处理数据框时出现了一个错误:“ValueError: 填充值必须是类别中的一个”。经过研究发现,我需要为每个属于类别的值添加分类选项,但我仍然遇到以下错误:

  catgoricalValues = ['embarked', 'sex', 'pclass']

  df[catgoricalValues] = df[catgoricalValues].astype('category')
  df[catgoricalValues] = df[catgoricalValues].add_categories(df[catgoricalValues].unique())  # add options for catgorical values


AttributeError: 'DataFrame' object has no attribute 'add_categories'

我做错了什么?

1个回答

3

单列

df['embarked'] = pd.Categorical(df['embarked'], categories=df['embarked'].dropna().unique())

多列

# looping through the columns
for col in ['embarked', 'sex', 'pclass']:
    df[col] = pd.Categorical(df[col], categories=df[col].dropna().unique())

# alternatively with .apply
df[['embarked', 'sex', 'pclass']] = df[['embarked', 'sex', 'pclass']].apply(lambda x: pd.Categorical(x, x.dropna().unique(), ordered=True))
# create a sample series
s = pd.Series(["a", "b", "c", "a"], dtype="category")

# add a category
s = s.cat.add_categories([4])

1
太棒了!非常感谢你! - Lostsoul

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接