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

2022-01-19 00:00:00 python pandas dataframe boolean

问题描述

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

How to convert true false values in Dataframe as 1 for true and 0 for false

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


OUTPUT
12   1  14 0
13   0  13 1


解决方案

首先,如果你有字符串 'TRUE''FALSE',你可以将它们转换像这样布尔 TrueFalse 值:

First, if you have the strings 'TRUE' and 'FALSE', you can convert those to boolean True and False values like this:

df['COL2'] == 'TRUE'

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

That gives you a bool column. You can use astype to convert to int (because bool is an integral type, where True means 1 and False means 0, which is exactly what you want):

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

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

To replace the old string column with this new int column, just assign it:

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

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

And to do that to two columns at one, just index with a list of columns:

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

相关文章