如何在python中的pivot表中分离索引?

时间:2017-11-07 18:17:44

标签: python pandas numpy dataframe pivot-table

我知道pivot_table中有3个主要参数。索引,列和fill_value。

df = pd.pivot_table(df,index='userID',columns='days',fill_value=0)    # Fill 0

由于内存问题,我无法转动数据框。

那么可以将index拆分为小部分,然后将这些数据透视表合并在一起以解决此问题吗?

例如,userID在范围(0,1000000)中,我想将它们切割为3个部分:(0,333333),(333333,666666)和(666666,1000000)。然后将这3个组合成一个数据透视表。

2 个答案:

答案 0 :(得分:0)

是的,你可以这样做:

df_out = pd.concat([df.query('UserID < @i').pivot_table(index='UserID', 
                   columns='days', fill_value=0) for i in [333333,666666,1000000]])

答案 1 :(得分:0)

使用np.array_split

pd.concat([x.pivot_table(index='UserID',\
        columns='days', fill_value=0) for x in np.array_split(df, 3)])