python - 如何将数据框中的真假值转换为 1 为真,0 为假

标签 python pandas dataframe boolean

如何将Dataframe中的真假值转换为1为真,0为假

COL1  COL2 COL3  COL4
12   TRUE  14    FALSE
13   FALSE  13    TRUE


OUTPUT
12   1  14 0
13   0  13 1

最佳答案

首先,如果您有字符串 'TRUE''FALSE',您可以将它们转换为 boolean 值 True假的值是这样的:

df['COL2'] == 'TRUE'

这会给你一个 bool 列。可以使用 astype 转换为 int (因为 bool 是整数类型,其中 True 表示 1False 表示 0,这正是你想要的):

(df['COL2'] == 'TRUE').astype(int)

要用这个新的 int 列替换旧的字符串列,只需分配它:

df['COL2'] = (df['COL2'] == 'TRUE').astype(int)

要同时对两列执行此操作,只需使用列列表进行索引:

df[['COL2', 'COL4']] = (df[['COL2', 'COL4']] == 'TRUE').astype(int)

关于python - 如何将数据框中的真假值转换为 1 为真,0 为假,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29960733/

相关文章:

python - 我找不到将 Pandas 时间戳转换为 matplotlib 图日期的方法

pandas - 推断数据框行

python-3.x - 如何在查看前几行值的每一行中执行代码的同时,高效地逐行遍历 pandas 数据框?

python - Django/WeasyPrint : Bangla Font Rendering Issue

python - "TclError: no display name and no $DISPLAY environment variable"nltk错误

python - PySpark - 将列表的列转换为行

python - pyparsing Optional() & Optional() 允许重复

python - 如何从我创建的函数创建循环和新数据集?

python - 如何根据多列的值拆分数据框

apache-spark - 如何优雅地将多列行转换为数据框?