为什么在创建透视表之后,我的原始列标题在Python中不显示为数据类型(dtypes)?

2024-04-26 00:09:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我找不到这方面的信息;也许我问错了问题,但是:

我已经根据数据创建了两个透视表:

In [1]:  Test1 = pd.pivot_table(data,index=['Date','Time','Basket'],
         values=['Total'],aggfunc=np.sum)

以及

In [2]:  Test2 = pd.pivot_table(data,index=['Date','Time','Basket'],
         values=['Total'],aggfunc=len)

分别计算每个篮子的总金额和每个篮子的项目数。我得到一个输出作为每个的数据帧,但是,输出创建'Total'作为一个列标题在其他原始列标题之上(在下面的例子中是每个篮子的数量),并且还有空单元格。你知道吗

                                 Total
Date         Time       Basket  
07/29/05    10:00:04    103885   35.95
            10:00:12    100984   28.97

当我为每个篮子的数量和每个篮子的项目数连接这些新的数据帧时,我得到这个表:

                                Total   Total
Date        Time        Basket      
07/29/05    10:00:04    103885    9     35.95
            10:00:12    100984    8     28.97 

当我检查数据类型时,我得到的输出表明只有Total和Total是数据类型。你知道吗

Total    float64
Total    float64
dtype: object

我的问题有两个:其他专栏怎么了?我该如何制作其他列标题。。。嗯,标题还是数据类型,都和“总计”结果在同一行?谢谢你的帮助。。你知道吗


Tags: 数据in标题datadateindextimetable
1条回答
网友
1楼 · 发布于 2024-04-26 00:09:46

如果查看pivot_table的用法,则列['Date','Time','Basket']作为index传递,因此得到的DataFrame作为这三个变量作为index。你知道吗

您可以使用reset_index

pd.concat([Test1.reset_index(), Test2.reset_index()])

相关问题 更多 >