【问题标题】:Pandas error "AttributeError: 'DataFrame' object has no attribute 'add_categories'" when trying to add catorical values?尝试添加分类值时,Pandas 错误“AttributeError:'DataFrame' 对象没有属性'add_categories'”?
【发布时间】:2020-08-25 04:07:54
【问题描述】:

在使用数据框时,我之前收到了一个错误“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'

我做错了什么?

【问题讨论】:

    标签: python pandas


    【解决方案1】:

    单列

    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])
    

    【讨论】:

    • 太棒了!非常感谢!
    猜你喜欢
    • 1970-01-01
    • 2019-12-03
    • 2017-02-12
    • 2014-01-10
    • 2019-07-03
    • 1970-01-01
    • 1970-01-01
    • 2013-04-28
    • 2013-10-23
    相关资源
    最近更新 更多