Изменить конкретные значения в столбце на основе ключевого слова - PullRequest
0 голосов
/ 23 марта 2019

У меня есть следующий столбец в кадре данных:

'Marital-status'

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

Я хочу просто объединить obs, которые разделены или разведены и состоят в браке, независимо от того, что произойдет после.(т. е. я хочу, чтобы слова «женатый-гражданский супруг» и «женатый-армия-супруг» были помечены как «женатые». Я хочу, чтобы слова «разделенные» и «разведенные» были помечены как «разделенные»).женат и овдовел я хочу остаться прежним.

Я пытался выяснить это, начиная с

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

, но я не уверен, как легко заменить все значения на значение, которое я хочу.

1 Ответ

2 голосов
/ 23 марта 2019

Вы можете разделить ячейки на '-' и взять первую часть. Сначала определите маску, чтобы не мешать другим строкам, таким как '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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...