Как запретить df.pivot вставлять 'None' и пустые строки во время pivot? - PullRequest
0 голосов
/ 27 февраля 2019

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

columns        values
col1            test1
col2            test2
col3            test3
col4            test4
col1            test5
col2            test6
col3            test7
col4            test8

Я пытаюсь это:

df ['index'] = df.index df = df.pivot(index = 'index', columns = 'columns', values ​​= 'values')

, что приводит к df, который выглядит примерно так (примерно):

col1         col2       col3      col4
None         None       test1     None
test5        None       None      None

Как мнеПоверните df так, чтобы это выглядело?:

col1         col2       col3      col4
test1        test2      test3     test4
test5        test6      test7     test8

Я создаю столбец артикульного индекса, потому что у меня нет другого столбца для создания индекса.У меня есть только 2 столбца в кадре данных.

1 Ответ

0 голосов
/ 27 февраля 2019

Используя cumcount создайте новый ключ, затем выполните pivot

df.assign(key=df.groupby('columns').cumcount()).pivot('key','columns','values')
Out[54]: 
columns   col1   col2   col3   col4
key                                
0        test1  test2  test3  test4
1        test5  test6  test7  test8
...