Поиск лучшего решения для создания нового столбца, который содержит определенное слово в существующих столбцах - PullRequest
0 голосов
/ 29 октября 2018

У меня есть следующий фрейм данных.

data = pd.DataFrame()
data ['id1_des'] = ['Accurate','Through','Accurate', 'Blocked']
data ['id2_des'] = ['','Foot','', 'Not Accurate']
data ['id3_des'] = ['','shot','', '']
data ['id4_des'] = ['','Accurate','', '']

Я пытаюсь создать новый столбец, содержащий Точный или Не точный из существующих 4 столбцов.

Я использовал следующий метод:

Con1 = 'Accurate'
data['accuracy'] = np.select([Con1 ==data.id1_des,Con1 ==data.id2_des,Con1 ==data.id3_des,Con1 ==data.id4_des],['Accurate','Accurate','Accurate','Accurate'],default = 'Not Accurate')

Я получил то, что хотел создать.Тем не менее, я хотел бы спросить, может ли кто-нибудь посоветовать лучшее решение для этого?

Мой вывод выглядит следующим образом:

enter image description here

СпасибоСпасибо,

Zep

1 Ответ

0 голосов
/ 29 октября 2018

Использование ffill

data['accuracy']=data.replace('',np.nan).ffill(axis = 1).iloc[:,-1]
data
Out[23]: 
    id1_des       id2_des id3_des   id4_des      accuracy
0  Accurate                                      Accurate
1   Through          Foot    shot  Accurate      Accurate
2  Accurate                                      Accurate
3   Blocked  Not Accurate                    Not Accurate
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...