python - 根据 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
我在他们的文档中读了很多,但他们并没有真正明确地声明这种操作。我也想单独制作这些。
解决方案
使用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