如何在python中绘制数据透视图?

时间:2017-04-20 20:14:15

标签: python pandas pivot-table pivottable.js

Currenly,我是python脚本的新手我使用panda,pivottablejs来创建脚本。我有一个csv文件,我用panda读取了csv文件,我得到了这样的表。 enter image description here

现在,我想使用pivottablejs生成数据透视图,所以我必须在pivot_ui()中传递dataframe对象;

我想在数据透视表中绘制为每个OriginationPhase创建的问题状态总数。

所以我尝试过这样的事情。

LabelsReviewedByDate = issues_df.groupby(['Status','OriginationPhase'])

pivot_ui(LabelsReviewedByDate)

我知道这是错的,但我是python脚本的新手。所以帮我找到解决方案。

谢谢

2 个答案:

答案 0 :(得分:2)

您可以直接将数据框传递给pivot_ui:

import pandas as pd
from pivottablejs import pivot_ui

a= [ [1,'Requirements','bug'],[2,'Design','bug'],[3,'Testing','bug'],[4,'Requirements','bug'],[5,'Requirements','Inquiry'] ]

df  = pd.DataFrame(a,columns =['Issue#','OriginationPhase','Category'])

pivot_ui(df)

enter image description here

答案 1 :(得分:0)

pivot_table方法来解决这个问题。它的作用类似于pivot,但它聚合了具有指定列的重复条目的行的值

a= [ [1,'Requirements','bug'],[2,'Design','bug'],[3,'Testing','bug'],[4,'Requirements','bug'],[5,'Requirements','Inquiry'] ]

df  = pd.DataFrame(a,columns =['Issue#','OriginationPhase','Category'])
df.pivot_table( index = 'Category',columns = 'OriginationPhase',aggfunc = lambda x: len(x) )  )

                 Issue#                     
OriginationPhase Design Requirements Testing
Category                                    
Inquiry             NaN            1     NaN
bug                   1            2       1