DataFrame преобразовывает значения столбца в новые столбцы - PullRequest
0 голосов
/ 23 ноября 2018

У меня есть следующие серии:

project   id        type
First    130403725  PRODUCT      68
                    EMPTY         2
Six      130405706  PRODUCT      24
         132517244  PRODUCT      33
         132607436  PRODUCT      87

Как я могу преобразовать type значения в новые столбцы:

                   PRODUCT  EMPTY
project   id        
First    130403725     68     2             
Six      130405706     24     0
         132517244     33     0
         132607436     87     0

Ответы [ 2 ]

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

Используйте unstack, потому что MultiIndex Series:

s1 = s.unstack(fill_value=0)
print (s1)
type               EMPTY  PRODUCT
project id                       
First   130403725      2       68
Six     130405706      0       24
        132517244      0       33
        132607436      0       87

Для фрейма данных:

df = s.unstack(fill_value=0).reset_index().rename_axis(None, axis=1)
print (df)
  project         id  EMPTY  PRODUCT
0   First  130403725      2       68
1     Six  130405706      0       24
2     Six  132517244      0       33
3     Six  132607436      0       87
0 голосов
/ 23 ноября 2018

Это классическая сводная таблица :

df_pivoted = df.pivot(index=["project", "id"], columns=["type"], values=[3])

Я использовал 3 в качестве индекса столбца value, но было бы более понятно, если бы выназвал это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...