繁体   English   中英

根据关键字更改列中的特定值

[英]Change specific values within a column based on keyword

我在数据框中有以下列:

'Marital-status'

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

我想将分开或离异并已婚的obs聚在一起,无论之后发生什么。 (即,我希望将“已婚公民配偶”和“已婚军人配偶”标记为“已婚”。我希望将“分隔”和“离婚”标记为“分隔”。)已婚和丧偶我想保持原样。

我尝试从开始弄清楚

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

但我不确定如何轻松地用所需的值替换所有值。

您可以在'-'上拆分单元格,然后使用第一部分。 首先定义一个遮罩,这样您就不会弄乱'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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM