Как построить сводную диаграмму в Python?

В настоящее время я новичок в написании скриптов на Python. Я использую panda, pivottablejs для создания скриптов. У меня есть один CSV-файл, и я прочитал этот CSV-файл, используя Panda, и я получил таблицу, как это.

Теперь я хочу сгенерировать сводную диаграмму, используя pivottablejs, поэтому для этого мне нужно передать объект dataframe в pivot_ui();

Я хочу нанести на график в сводной диаграмме общее количество статусов проблем, созданных для каждой фазы происхождения.

Поэтому я попробовал что-то подобное.

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

pivot_ui(LabelsReviewedByDate)

Я знаю, что это неправильно, но я новичок в написании скриптов на Python. Так что помогите мне найти решение.

Спасибо

2 ответа

Решение

Вы можете просто передать право на dataframe в 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)

введите описание изображения здесь

Метод pivot_table решает эту проблему. Он работает как сводная таблица, но объединяет значения из строк с повторяющимися записями для указанных столбцов.

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
Другие вопросы по тегам