Перенести уникальные значения из столбца B в новый столбец после группировки столбца A - PullRequest
0 голосов
/ 11 ноября 2018

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

COL_A   COL_B
1   a
1   b
2   a
2   b
3   a
3   b
4   c
4   d
5   c
5   d

и я пытаюсь сгруппировать значения в COL_A и переместить уникальные значения в COL_B в новый столбец

COL_A   COL_B   COL_C
1   a   b
2   a   b
3   a   b
4   c   d
5   c   d

Я пробовал кучу разных техник с df.groupby и df.pivot, но, похоже, не могу получить желаемых результатов.

1 Ответ

0 голосов
/ 11 ноября 2018

Поскольку каждое уникальное значение COL_A всегда встречается ровно дважды, вы можете изменить форму вашей серии и передать ее конструктору pd.DataFrame:

df = df.sort_values('COL_A')

arr = df['COL_B'].values.reshape(-1, 2)

res = pd.DataFrame({'COL_A': df['COL_A'].unique(),
                    'COL_B': arr[:, 0],
                    'COL_C': arr[:, 1]})

print(res)

   COL_A COL_B COL_C
0      1     a     b
1      2     a     b
2      3     a     b
3      4     c     d
4      5     c     d
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...