首页 > 解决方案 > 根据 pandas 中的参数将列的值更改为 1 或 0

问题描述

所以我有这个包含很多列的数据框,例如看看这个:

id   Status   Name   Age   Job
213  Active   John   39    Unavailable
415  Inactive Sara   34    Unavailable
941  Inactive Micky  11    Unavailable
993  Active   Zack   45    Unavailable

我想要做的是使用pandas库如果一个人的状态是活跃的,则为job列分配一个值,如果它是非活跃的,则为0。所以原始数据框变成:

id   Status   Name   Age   Job
213  Active   John   39    1
415  Inactive Sara   34    0
941  Inactive Micky  11    0
993  Active   Zack   45    1

并根据状态分别是活动还是非活动将状态列的值更改为 1 和 0。

id   Status   Name   Age   Job
213    1      John   39    Unavailable
415    0      Sara   34    Unavailable
941    0      Micky  11    Unavailable
993    1      Zack   45    Unavailable

我在他们的文档中读了很多,但他们并没有真正明确地声明这种操作。我也想单独制作这些。

标签: pythonpython-3.xpandas

解决方案


使用eq

df.assign(Job=df.Status.eq('Active').astype(int))

    id    Status   Name  Age  Job
0  213    Active   John   39    1
1  415  Inactive   Sara   34    0
2  941  Inactive  Micky   11    0
3  993    Active   Zack   45    1

推荐阅读