创建具有重复条目的数据框

时间:2019-08-01 14:52:15

标签: python pandas dataframe

我执行一个sql查询,然后使用data = pd.read_sql(query, connection)得到下表,

  ID        ITEM   TYPE_USER   Count
711757     item1     type1       1
711757     item2     type1       1
711757     item3     type1       1
711794     item1     type2       1
711794     item2     type2       1
711541     item2     type3       1
  .          .         .         .
  .          .         .         .

但是我需要创建以下数据框

   ID     item1    item2    item3      TYPE_USER
 711757      1        1        1         type1 
 711794      1        1        0         type2
 711541      0        1        0         type3   

所以,我的想法是

`data.pivot(index='ID', columns = 'ITEM', values='Count')   

但是,这给了我下面的数据框

       ID     item1    item2    item3    
 0   711757      1        1        1         
 1   711794      1        1        0         
 2   711541      0        1        0        

在这一点上,我不知道如何加入“ TYPE_USER”列,任何想法将不胜感激!谢谢!

1 个答案:

答案 0 :(得分:2)

pd.pivot_table(df, index=['ID','TYPE_USER'], columns='ITEM', values='Count').fillna(0).reset_index()

结果

ITEM    ID  TYPE_USER   item1   item2   item3
0   711541  type3        0.0    1.0      0.0
1   711757  type1        1.0    1.0      1.0
2   711794  type2        1.0    1.0      0.0