Как построить pandas Dataframe в виде диаграммы P ie, используя график - PullRequest
0 голосов
/ 27 января 2020

Я смог найти количество и процент, используя pandas. Но когда я пытаюсь заплакать, я вижу только пустую страницу HTML. Пожалуйста, помогите в построении приведенного ниже фрейма данных в виде диаграммы ap ie.

Python code

import pandas as pd
import plotly.graph_objects as go
import plotly.offline as py
df = pd.read_excel('data/master.xlsx')

#Commercials ISTQB foundation data
df_commercials=df[(df['Domain']=='Commercials')]
ds=df_commercials['ISTQB Foundation']
count = ds.value_counts()
print(count)
print()
print("=================================================")
percent = ds.value_counts(normalize=True)

istqbF_series = round((percent*100),2).astype(str)+'%'
istqbF_df = pd.DataFrame({'ISTQB Foundation':istqbF_series.index,'percentage':istqbF_series.values})

print(istqbF_df)
print()
labels = istqbF_df['ISTQB Foundation']
values = istqbF_df['percentage']


# trace = go.Pie(labels=labels, values=values)
# fig = go.Figure(data=[go.Pie(labels=labels, values=values)])
#
#
# py.plot(fig, filename='ISTQB_Foundation_pie_chart.html')

Вывод:

enter image description here

Я хотел бы отобразить выходные данные в виде графика ap ie, с (ISTQB Foundation против процента), при наведении курсора на отображаемый счетчик.

Я пытался искать в net в течение нескольких дней, но не смог найти учебник, который бы помог мне в этом. Любая помощь очень ценится

Ответы [ 2 ]

1 голос
/ 27 января 2020

здесь вы можете получить ошибку, так как оба ваших столбца являются категориальными (строка). Попробуйте как показано ниже

import plotly.offline as py
from plotly.graph_objs import Pie, Layout,Figure

percent = ds.value_counts(normalize=True).mul(100).round(2)


_layout = Layout(title='ISTQB_Foundation')
_data = Pie(labels=percent.index.tolist(),values=percent.values.tolist(),hoverinfo='label+percent')
fig = Figure(data=[_data], layout=_layout)

# save html file to local
py.plot(fig,filename='ISTQB_Foundation_pie_chart.html')
0 голосов
/ 19 апреля 2020
from flask import Flask, flash, request, redirect, url_for
from werkzeug.utils import secure_filename

UPLOAD_FOLDER = '/path/to/the/uploads'
ALLOWED_EXTENSIONS = {'txt', 'pdf', 'png', 'jpg', 'jpeg', 'gif'}

app = Flask(__name__)
app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER
...