Добавить новый столбец для каждой повторяющейся переменной - PullRequest
0 голосов
/ 09 мая 2018

Я пытаюсь преобразовать следующий фрейм данных

df = pd.DataFrame ({'ID' : [125,125,130,130,130],
                     'X' : [2,1,2,1,3]})

df

ID     X
125    2
125    1
130    2
130    1
130    3

С новыми столбцами со следующими критериями (этот df является примером моего набора данных отверстий просто для иллюстрации моей проблемы): Добавить новый столбец для каждого дублированного идентификатора, содержащего значение X

df

ID     X  X_1  X_2
125    2   1   NaN
130    2   1    3

1 Ответ

0 голосов
/ 09 мая 2018
In [30]: (df.assign(col=df.groupby('ID').cumcount())
            .pivot_table(index='ID', columns='col', values='X', fill_value=0)
            .add_prefix('X_')
            .reset_index()
            .rename_axis(None,1))
Out[30]:
      ID  X_0  X_1  X_2
0    125    2    1    0
1    130    2    1    3
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...