Добавить столбцы в фрейм данных на основе категориальных значений существующего столбца. - PullRequest
0 голосов
/ 03 июня 2018

У меня есть фрейм данных, в котором есть столбец, содержащий имя переменной, и столбец, содержащий значение этой переменной.Некоторые примеры строк в этой таблице могут быть:

    id      variable    value   date
0   AS14.01 mood        6.000   2014-02-26
1   AS14.01 acti        0.091   2014-03-20
2   AS14.01 pers        0.101   2014-04-21

Я хочу преобразовать это в фрейм данных, где каждое уникальное значение в столбце переменной формирует новый столбец, содержащий значение соответствующей строки.Должна быть только 1 строка на дату для определенного идентификатора.Примеры строк для приведенного выше кадра данных были бы:

    id      date        mood   acti   pers
0   AS14.01 2014-02-26  6.000  NaN    NaN
1   AS14.01 2014-03-20  NaN    0.091  NaN
2   AS14.01 2014-04-21  NaN    NaN    0.101

Возможно, аналогичный вопрос был опубликован ранее в stackoverflow, но я не могу найти правильную формулировку для этой проблемы.Надеюсь, что кто-нибудь может помочь.

1 Ответ

0 голосов
/ 03 июня 2018

Вот один способ с get_dummies.Вы также можете попробовать использовать поворот.Это не удаляет исходный столбец variable автоматически.

df = df.join(pd.get_dummies(df.variable).replace(0, np.nan).mul(df.value, axis=0))


        # id variable  value        date   acti  mood   pers
# 0  AS14.01     mood  6.000  2014-02-26    NaN   6.0    NaN
# 1  AS14.01     acti  0.091  2014-03-20  0.091   NaN    NaN
# 2  AS14.01     pers  0.101  2014-04-21    NaN   NaN  0.101
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...