基于关键字更改列中的特定值

2024-10-04 11:34:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我在数据帧中有以下列:

'Marital-status'

'Never-married'
'Married-civ-spouse'
'Separated'
'Married-army-spouse'
'Divorced'
'Widowed'

我只想把那些分居、离婚、结婚的人放在一起,不管发生了什么(我想把“已婚公民配偶”和“已婚军人配偶”贴上“已婚”的标签。我想把“分居”和“离婚”列为“分居”,其他列如“未婚”和“丧偶”我想保持不变

我试着从

if 'Married-' in df.['Marital-status']:

但我不知道如何轻松地用我想要的值替换所有值


Tags: 数据status公民neverseparatedarmyspousemarried
1条回答
网友
1楼 · 发布于 2024-10-04 11:34:01

您可以在'-'上拆分单元格,然后执行第一部分。首先定义一个掩码,这样就不会弄乱其他行,比如'Never-married'

m = df['Marital-status'].str.contains('Married')
df.loc[m, 'Marital-status'] = df.loc[m, 'Marital-status'].str.split('-').str[0]
df['Marital-status'] = df['Marital-status'].replace('Divorced', 'Separated')

  Marital-status
0  Never-married
1        Married
2      Separated
3        Married
4      Separated
5        Widowed

相关问题 更多 >