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

时间:2019-03-23 16:57:25

标签: python pandas numpy

我在数据框中有以下一列:

'Marital-status'

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

我想将分开或离异并已婚的肥胖者聚在一起,而不管以后发生什么。 (即,我希望将“已婚公民配偶”和“已婚军人配偶”标记为“已婚”。我希望将“分隔”和“离婚”标记为“分隔”。)已婚和寡居,我想保持原样。

我从头开始尝试弄清楚

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

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

1 个答案:

答案 0 :(得分:2)

您可以拆分'-'上的单元格并开始第一部分。首先定义一个掩码,以免弄乱诸如'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