Манипулирование сериями в кадре данных - PullRequest
0 голосов
/ 09 марта 2020

Мой фрейм данных содержит список значений, разделенных запятыми, в одном столбце. Я хочу найти список отдельных записей, создать новый столбец для каждой отдельной записи в кадре данных, а затем заполнить новые столбцы 1 или 0 в зависимости от того, имеет ли строка название города. Идея состоит в том, чтобы использовать новые столбцы при построении регрессионной модели логистики c.
В качестве примера

До

Name    City 
Jack    NewYork,Chicago,Seattle
Jill    Seattle, SanFrancisco
Ted     Chicago,SanFrancisco
Bill    NewYork,Seattle

После

Name    NewYork     Chicago     Seattle     SanFrancisco
Jack    1           1           1           0
Jill    0           0           1           1
Ted     0           1           0           1
Bill    1           0           1           0

1 Ответ

1 голос
/ 09 марта 2020

Вы можете сделать это с помощью метода get_dummies str:

import pandas as pd

df = pd.DataFrame(
    {"Name": ["Jack", "Jill", "Ted", "Bill"],
     "City": ["NewYork,Chicago,Seattle", "Seattle,SanFrancisco", "Chicago,SanFrancisco", "NewYork,Seattle"]}
)

print(pd.concat((df, df.City.str.get_dummies(",")), axis=1))

Результат:

   Name                     City  Chicago  NewYork  SanFrancisco  Seattle
0  Jack  NewYork,Chicago,Seattle        1        1             0        1
1  Jill     Seattle,SanFrancisco        0        0             1        1
2   Ted     Chicago,SanFrancisco        1        0             1        0
3  Bill          NewYork,Seattle        0        1             0        1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...