【问题标题】:Pandas Dataframe set Categories - The `inplace` parameter in pandas.Categorical.set_categories is deprecatedPandas Dataframe 设置类别 - pandas.Categorical.set_categories 中的 `inplace` 参数已弃用
【发布时间】:2021-12-14 14:01:25
【问题描述】:

我的代码中有以下语句:

mcap_summary['cap'].cat.set_categories(['Large','Mid','Small','None'],inplace=True)

现在会生成如下警告: D:\Python\Python39\lib\site-packages\pandas\core\arrays\categorical.py:2630:FutureWarning:pandas.Categorical.set_categories 中的 inplace 参数已弃用,将在未来版本中删除。删除未使用的类别将始终返回一个新的 Categorical 对象。 res = 方法(*args, **kwargs)

我应该怎么写才能避免这个警告和未来的错误?

提前致谢

【问题讨论】:

    标签: python dataframe


    【解决方案1】:

    pandas v1.3.0+ 移除了“就地”选项。

    所以你可以编写如下代码:

    mcap_summary['cap'] = mcap_summary['cap'].cat.set_categories(['Large', 'Mid', 'Small', 'None'])
    

    【讨论】:

    • 谢谢。我之前尝试过,但结果不同。这次又试了一次,它工作正常 - 然后我意识到源数据已经改变:(非常感谢
    猜你喜欢
    • 2019-05-07
    • 2021-01-06
    • 1970-01-01
    • 2020-04-26
    • 2020-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多