Как передать две pandas серии для работы - PullRequest
0 голосов
/ 15 апреля 2020

Как я могу сделать следующее: у меня есть функция plot_forecast с 3 аргументами (pandas series, confidence interval dataframe, int-value)

Мне нужно пропустить вторую серию pandas в некоторых случаях для построения двух линейных графиков на одном Пиплотная фигура. Если я введу if в основной код и дважды вызову эту функцию, будет два графика. Вот мой код функции графика.

Я не понимаю, как исправить мой код

    def plot_forecasts(forecasts, confidence_interval, s):

        lower_ci = {"x": confidence_interval.index, 
            "y": confidence_interval['ci_lower'], 
            "line": {
                "color": "#1EBC61", 
                "shape": "linear",
                "width": 0.1
                    }, 
            "mode": "lines",
            "name": "Lower 95% CI", 
            "showlegend": False, 
            "type": "scatter", 
            "xaxis": "x", 
            "yaxis": "y"
            }
        upper_ci = {"x": confidence_interval.index, 
            "y": confidence_interval['ci_upper'], 
            "fill": "tonexty", 
            "line": {
                "color": "#1EBC61", 
                "shape": "linear",#"spline",
                "width": 0.1
                    }, 
            "mode": "lines", 
            "name": "Upper 95% CI", 
            "type": "scatter", 
            "xaxis": "x", 
            "yaxis": "y"
            }
        forecasting =  {'x': forecasts.index, 
                'y': forecasts.values,
                "line": {
                        "color": "#005C01", 
                        "shape": "linear",
                        "width": 3
                        }, 
                "mode": "lines", 
                "name": "Forecasting", 
                "type": "scatter", 
                "xaxis": "x", 
                "yaxis": "y"                }

        plot_data = ([lower_ci, upper_ci, forecasting])
        layout = go.Layout(title = f'{s} Forecasts')
        fig = go.Figure(data = plot_data, layout=layout)
        st.plotly_chart(fig)

Чтобы уточнить: прогнозы - это pandas датафрейм с чем-то вроде {'Jan 1, 1930': 622, 'Jan1, 1931': 1029, 'Jan 1, 1932': 1234} и confidence_interval также является data_frame, но с 2 столбцами ('ci_lower' and 'ci_upper') и одинаковыми строками и значениями типа float

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...