У меня огромная проблема с ноутбуком 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
Это пример этой ошибки, но если я снова загружаю набор данных и снова загружаю этот график, все будет хорошо:
и пример кода участка:
#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()