[英]Replicate row in Pandas dataframe based on condition and change values for a specific column
[英]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.