Jupyter Seaborn sns.lmplot错误

时间:2018-01-01 17:53:57

标签: python error-handling jupyter seaborn

我在尝试在Jupyter中绘制一个lmplot时遇到了麻烦。

下面你可以看到我的数据的第一行和其他数据也一样。

Year_of_Release Platform_General    Platform    counts  Global_Sales(M#)  GS_Amount/Game
1994.0  Sony_Playstation    PS  1   1.27    1.270000
1996.0  Sony_Playstation    PS  5   17.48   3.496000
1997.0  Sony_Playstation    PS  12  30.89   2.574167
1998.0  Sony_Playstation    PS  22  43.08   1.958182
1999.0  Sony_Playstation    PS  25  49.02   1.960800

以下是绘制图表的代码,但

# Make a custom palette with platform colors
pal = dict(Sony_Playstation="#6495ED",Microsoft_Xbox="#F08080",Nintendo="Green")

# Show the survival proability as a function of platforms
g = sns.lmplot(x="Year_of_Release", y="GS_Amount/Game", col="Platform_General", hue="Platform_General", 
           data=vgs_df_pf_grouped,palette=pal, y_jitter=.02, logistic=True)

# Use more informative axis labels than are provided by default
g.set_axis_labels("Year of Release", "Sales per Game Released (M #)")

当我在下面运行此代码时出现长错误按摩,由于我是数据分析的新手,我无法理解数据或代码有什么问题。

我很感激这方面的一些帮助。谢谢。

ValueError                                Traceback (most recent    call last)
<ipython-input-68-c78b6ba34d96> in <module>()
  5 # Show the survival proability as a function of age and sex
  6 g = sns.lmplot(x="Year_of_Release", y="GS_Amount/Game",col="Platform_General", hue="Platform_General", 
---->        7 data=vgs_df_pf_grouped,palette=pal, y_jitter=.02, logistic=True)
  8 
  9 # Use more informative axis labels than are provided by default

~/anaconda3/lib/python3.6/site-packages/seaborn/regression.py in lmplot(x, y, data, hue, col, row, palette, col_wrap, size, aspect, markers, sharex, sharey, hue_order, col_order, row_order, legend, legend_out, x_estimator, x_bins, x_ci, scatter, fit_reg, ci, n_boot, units, order, logistic, lowess, robust, logx, x_partial, y_partial, truncate, x_jitter, y_jitter, scatter_kws, line_kws)
588         scatter_kws=scatter_kws, line_kws=line_kws,
589         )
--> 590     facets.map_dataframe(regplot, x, y, **regplot_kws)
591 
592     # Add a legend

~/anaconda3/lib/python3.6/site-packages/seaborn/axisgrid.py in map_dataframe(self, func, *args, **kwargs)
795 
796             # Draw the plot
--> 797             self._facet_plot(func, ax, args, kwargs)
798 
799         # Finalize the annotations and layout

~/anaconda3/lib/python3.6/site-packages/seaborn/axisgrid.py in _facet_plot(self, func, ax, plot_args, plot_kwargs)
813 
814         # Draw the plot
--> 815         func(*plot_args, **plot_kwargs)
816 
817         # Sort out the supporting information

~/anaconda3/lib/python3.6/site-packages/seaborn/regression.py in regplot(x, y, data, x_estimator, x_bins, x_ci, scatter, fit_reg, ci, n_boot, units, order, logistic, lowess, robust, logx, x_partial, y_partial, truncate, dropna, x_jitter, y_jitter, label, color, marker, scatter_kws, line_kws, ax)
788     scatter_kws["marker"] = marker
789     line_kws = {} if line_kws is None else copy.copy(line_kws)
--> 790     plotter.plot(ax, scatter_kws, line_kws)
791     return ax
792 

~/anaconda3/lib/python3.6/site-packages/seaborn/regression.py in plot(self, ax, scatter_kws, line_kws)
340             self.scatterplot(ax, scatter_kws)
341         if self.fit_reg:
--> 342             self.lineplot(ax, line_kws)
343 
344         # Label the axes

~/anaconda3/lib/python3.6/site-packages/seaborn/regression.py in lineplot(self, ax, kws)
385 
386         # Fit the regression model
--> 387         grid, yhat, err_bands = self.fit_regression(ax)
388 
389         # Get set default aesthetics

~/anaconda3/lib/python3.6/site-packages/seaborn/regression.py in fit_regression(self, ax, x_range, grid)
198             from statsmodels.genmod.families import Binomial
199             yhat, yhat_boots = self.fit_statsmodels(grid, GLM,
--> 200                                                     family=Binomial())
201         elif self.lowess:
202             ci = None

~/anaconda3/lib/python3.6/site-packages/seaborn/regression.py in fit_statsmodels(self, grid, model, **kwargs)
258             return yhat
259 
--> 260         yhat = reg_func(X, y)
261         if self.ci is None:
262             return yhat, None

~/anaconda3/lib/python3.6/site-packages/seaborn/regression.py in reg_func(_x, _y)
252         def reg_func(_x, _y):
253             try:
--> 254                 yhat = model(_y, _x, **kwargs).fit().predict(grid)
255             except glm.PerfectSeparationError:
256                 yhat = np.empty(len(grid))

~/anaconda3/lib/python3.6/site-packages/statsmodels/genmod/generalized_linear_model.py in fit(self, start_params, maxiter, method, tol, scale, cov_type, cov_kwds, use_t, full_output, disp, max_start_irls, **kwargs)
901             return self._fit_irls(start_params=start_params, maxiter=maxiter,
902                                   tol=tol, scale=scale, cov_type=cov_type,
--> 903                                   cov_kwds=cov_kwds, use_t=use_t, **kwargs)
904         else:
905             return self._fit_gradient(start_params=start_params,

~/anaconda3/lib/python3.6/site-packages/statsmodels/genmod/generalized_linear_model.py in _fit_irls(self, start_params, maxiter, tol, scale, cov_type, cov_kwds, use_t, **kwargs)
977         dev = self.family.deviance(self.endog, mu, self.freq_weights)
978         if np.isnan(dev):
--> 979             raise ValueError("The first guess on the deviance function "
980                              "returned a nan.  This could be a boundary "
981                              " problem and should be reported.")

ValueError: The first guess on the deviance function returned a nan.  This could be a boundary  problem and should be reported.

0 个答案:

没有答案