如何将数据框中的真假值转换为 1 为真,0 为假
问题描述
如何将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',你可以将它们转换像这样布尔 True 和 False 值:
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 表示 1 和 False 表示 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)
相关文章