Pandas pivot table fixed value columns

时间:2015-12-07 09:11:34

标签: python pandas

我每天都会收到如下数据框,

  type  subtype  count
0    A        1     25
1    A        2     36
2    B        1     12
3    B        2     10
4    C        1     40

我转动它并在其中写入数据库,

newdf = df.pivot_table('count', 'type', 'subtype',fill_value=0)
newdf
subtype   1   2
type           
A        25  36
B        12  10
C        40   0

如果数据没有subtype 2 at all,那么

  type  subtype  count
0    A        1     25
1    B        1     12
2    C        1     40

然后我的支点将失败我的意思是无效,

df.pivot_table('count', 'type', 'subtype',fill_value=0)
subtype   1
type       
A        25
B        12
C        40

目前我正用这种可怕的方式来处理这个问题,

if 1 not in newdf.columns:
    newdf[1] = 0
elif 2 not in newdf.columns:
    newdf[2] = 0

subtype   1  2
type          
A        25  0
B        12  0
C        40  0

这是玩具数据我有131列。 mylistofsubtypes - df.coulumns和treverse以0添加列是我目前的方式。

所以,欢迎提出任何建议!

1 个答案:

答案 0 :(得分:0)

我认为您无法直接从setProgress(); 获得预期的数据框,而您需要手动添加列。但你可以用for循环代替手动:

pivot_table