Отображение списка строк в 0 в Pandas Python - PullRequest
0 голосов
/ 08 апреля 2019

Я пытаюсь изучить влияние алкоголя и наркотиков в автомобильных авариях с использованием набора данных Open BigQuery.У меня есть готовый набор данных, и я просто уточняю его.Я хочу классифицировать строковые записи в столбцах панд.

Фрейм данных содержит более 11 000 записей, и в каждом столбце содержится около 44 уникальных значений.Однако я просто хочу классифицировать только записи с надписью «Вовлечение алкоголя» и «Наркотики (незаконные)» в 1 и соответственно.Я хочу сопоставить любую другую запись с 0.

Я создал список всех записей, которые мне не нужны, и от которых я хочу избавиться, и они находятся в списке следующим образом:

list_ign  = ['Backing Unsafely',
   'Turning Improperly', 'Other Vehicular',
   'Driver Inattention/Distraction', 'Following Too Closely',
   'Oversized Vehicle', 'Driver Inexperience', 'Brakes Defective',
   'View Obstructed/Limited', 'Passing or Lane Usage Improper',
   'Unsafe Lane Changing', 'Failure to Yield Right-of-Way',
   'Fatigued/Drowsy', 'Prescription Medication',
   'Failure to Keep Right', 'Pavement Slippery', 'Lost Consciousness',
   'Cell Phone (hands-free)', 'Outside Car Distraction',
   'Traffic Control Disregarded', 'Fell Asleep',
   'Passenger Distraction', 'Physical Disability', 'Illness', 'Glare',
   'Other Electronic Device', 'Obstruction/Debris', 'Unsafe Speed',
   'Aggressive Driving/Road Rage',
   'Pedestrian/Bicyclist/Other Pedestrian Error/Confusion',
   'Reaction to Other Uninvolved Vehicle', 'Steering Failure',
   'Traffic Control Device Improper/Non-Working',
   'Tire Failure/Inadequate', 'Animals Action',
   'Driverless/Runaway Vehicle']

Что я мог бы сделать, чтобы просто сопоставить «Вовлечение алкоголя» и «Наркотики (незаконно)» в 1 и соответственно и установить все в списке, показанном в 0

Ответы [ 2 ]

2 голосов
/ 08 апреля 2019

Скажите, что ваш исходный столбец назван Crime:

import numpy as np

df['Illegal'] = np.where(df['Crime'].isin(['Alcohol Involvement', 'Drugs']), 1, 0)

Или,

df['Crime'] = df['Crime'].isin(['Alcohol Involvement', 'Drugs']).astype(int)
0 голосов
/ 08 апреля 2019

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

for word in list_ign:
    df = df.replace(str(word), 'Replace')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...