Создать новый столбец на основе другого столбца в Pandas - PullRequest
3 голосов
/ 02 апреля 2020

У меня есть столбец в Dataframe с именем STATUS, который содержит значение «AMEND ORDER» или он пустой. Мне нужно создать FLAG на основе этого столбца, если его значения содержат AMEND слово в значении, установите FLAG 1 или 0. Я пытаюсь использовать приведенный ниже код, но он ошибается.

t[t['STATUS'].str.contains('AMEND')] 

Ответы [ 2 ]

2 голосов
/ 02 апреля 2020

Если пустые пропущенные значения или None s соединяют другую маску с помощью | для побитового OR и приводят к целым числам для True -> 1, False - > 0 отображение:

t['FLAG'] = (t['STATUS'].str.contains('AMEND') | t['STATUS'].isna()).astype(int)

Если пустое значение является пустой строкой, сравните значения по Series.eq:

t['FLAG'] = (t['STATUS'].str.contains('AMEND') | t['STATUS'].eq('')).astype(int)
0 голосов
/ 02 апреля 2020

Это может быть один из способов сделать это

mydat.loc[mydat['Status']=="",'flag']=0
mydat.loc[mydat['Status']=="AMEND ORDER",'flag']=1

Флаг состояния

0 ИЗМЕНИТЬ ЗАКАЗ 1.0

1 ИЗМЕНИТЬ ЗАКАЗ 1.0

"............." 0.0

3 ИЗМЕНИТЬ ЗАКАЗ 1.0

4 ".......... .... "0.0

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...