Огромная программа для загрузки графиков Plotly в Jupyter Notebook Python - PullRequest
0 голосов
/ 01 марта 2020

У меня огромная проблема с ноутбуком Jupyter. Когда он строит графики с использованием пакета plot, для отображения следующего графика мне нужно перезагрузить набор данных, в противном случае появляется ошибка: TypeError: list indices must be integers or slices, а не str. Когда я снова открываю проект, все графики, созданные с помощью Plotly, не видны, только белый фон, и я должен перезагрузить их, если я хочу их видеть, и все после перезагрузки набора данных, а именно:

1 ) Я открываю проект в Jupyte Notebook, все графики, созданные Plotly, не видны (например, видны другие из Seaborn.

2) Я загружаю диаграммы Plotly, но могу загружать их один за другим, потому что сначала мне нужно загрузить набор данных, затем диаграмму, и поэтому во всех диаграммах Plotly по-разному происходит ошибка: TypeError: list indices must be integers or slices

, что я могу с этим сделать, как это исправить? это серьезно мешает работе

это мои библиотеки:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline
import plotly.offline as py
import plotly.graph_objs as go
import plotly.tools as tls

Это пример этой ошибки, но если я снова загружаю набор данных и снова загружаю этот график, все будет хорошо: enter image description here

и пример кода участка:

#Distribution of credit risk in dataset (target variable)

#Size of the plot
figsize=(10,5)

#Sums of good and bad credits in the dataset
goodCount = data[data["Risk"]== 'good']["Risk"].value_counts().values
badCount = data[data["Risk"]== 'bad']["Risk"].value_counts().values

#Bar fo good credit
trace0 = go.Bar(x = data[data["Risk"]== 'good']["Risk"].value_counts().index.values,
               y = data[data["Risk"]== 'good']["Risk"].value_counts().values,
               name='Good credit',
               text= goodCount, 
               textposition="auto", 
               marker = dict(color = "green", line=dict(color="black", width=1),),opacity=1)

#Bar of bad credit
trace1 = go.Bar(x = data[data["Risk"]== 'bad']["Risk"].value_counts().index.values,
               y = data[data["Risk"]== 'bad']["Risk"].value_counts().values,
               name='Bad credit', 
               text= badCount, 
               textposition="auto", 
               marker = dict(color = "red", line=dict(color="black", width=1),),opacity=1)

#Creation of bar plot 
data = [trace0, trace1]
layout = go.Layout()
layout = go.Layout(yaxis=dict(title='Count'),
                   xaxis=dict(title='Risk variable'),
                   title='Distribution of target variable in the dataset')


fig = go.Figure(data=data, layout=layout)
fig.show()
...