我有以下系列:
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
答案 0 :(得分:3)
这是经典的splitlines()
:
df_pivoted = df.pivot(index=["project", "id"], columns=["type"], values=[3])
我已经使用3
作为value
列的索引,但是如果您将其命名的话会更清楚。
答案 1 :(得分:1)
使用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
对于DataFrame:
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