Измените вертикальный ряд на горизонтальный в Python - PullRequest
0 голосов
/ 11 декабря 2018

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

  id    
100241  Issue 1
100241  Issue 2
100241  Issue 3
100242  Issue 1
100242  Issue 2
100242  Issue 3

Моя цель - преобразовать его в горизонтальный формат, по одной строке для каждого идентификатора с соответствующими проблемами и сохранить в Excel, выглядит как

 id         
100241  Issue 1 Issue 2 Issue 3
100242  Issue 1 Issue 2 Issue 3

Я новичок в Python и не уверен, как мне добиться этого с помощью Python?Спасибо.

Ответы [ 2 ]

0 голосов
/ 11 декабря 2018

Если вы ищете правильное и быстрое решение, вам следует использовать метод cold's , но если вы используете небольшой набор данных, вы можете использовать

df.groupby(df.index).agg(list).apply(pd.Series)
Out[14]: 
             0       1       2
id                            
100241  Issue1  Issue2  Issue3
100242  Issue1  Issue2  Issue3
0 голосов
/ 11 декабря 2018

Вы можете добавить уровень к индексу и unstack:

counts = series.groupby(level=0).cumcount()
series.to_frame().set_index(counts, append=True).iloc[:,0].unstack()

              0        1        2
id                               
100241  Issue 1  Issue 2  Issue 3
100242  Issue 1  Issue 2  Issue 3
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...