Python:将分类变量的值替换为数据框中的其他值

Python: replace values of a categorical variable to something else in a data frame

我有一个 pandas 数据框,其中有一个名为分类类型标签的列,具有三个类别 ('>5' , '<30' , 'NO' )。我想将 ('>5' , '<30') 这两个类别更改为 'yes' 但我似乎无法弄清楚如何。 我想用 python 和 dtale(python 包)来做到这一点。

我在 python 中以这种方式做到了:

label_changed = {"label": {">5": "YES", "<30": "YES"}}
bp = bp.replace(label_changed)

还有其他更有效的方法吗?

此外,我还没有设法使用 dtale 做到这一点。

您可以使用 replace() 并传递一个包含要替换的值的列表,然后传递带有替换的参数,当您想要用一个唯一的值替换多个值时,它会更简洁一些:

to_replace = [">5","<30"]
bp = bp.replace(to_replace,"Yes")

您也可以在 D-Tale 中使用“替换”功能执行此操作。您可以通过单击主数据网格中的列名称然后单击“替换”来使用此功能。

从那里,您可以就地编辑您的列或创建一个新列(这样您就不会丢失原始数据)。然后执行以下步骤:

  • 选择“值”(默认值)
  • 在“搜索”中输入 >5
  • 保持选中“Raw”并在文本输入框中输入Yes
  • 点击“+”按钮
  • 在“搜索”中输入<30
  • 保持选中“Raw”并在文本输入框中输入Yes
  • 点击“+”按钮
  • 点击“替换”

如果您还单击主菜单中的“代码导出”按钮,应该会向您显示用于构建新列或更新列的代码。