4 回答

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超6個(gè)贊
這里發(fā)生的事情是Seaborn(或者更確切地說,它用來計(jì)算KDE的庫 - scipy或statsmodels)并沒有設(shè)法找出“帶寬”,這是計(jì)算中使用的擴(kuò)展參數(shù)。您可以手動(dòng)傳遞它。我玩了幾個(gè)值,發(fā)現(xiàn)1.5給出了一個(gè)與你之前相同比例的圖表:
sns.kdeplot(ser_test, cumulative=True, bw=1.5)
另請參閱此處。如果您沒有它,值得安裝。statsmodels

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超7個(gè)贊
如果您不想等待seaborn git更新以穩(wěn)定版本發(fā)布,則可以嘗試問題頁面中的解決方案之一。特別是henrymartin1的建議,嘗試在try/catch塊(由hartikainen建議)內(nèi)手動(dòng)傳遞一個(gè)小帶寬,該塊會(huì)抓取此特定錯(cuò)誤的文本(因此其他錯(cuò)誤仍然會(huì)被提出):
try:
sns.distplot(df)
except RuntimeError as re:
if str(re).startswith("Selected KDE bandwidth is 0. Cannot estimate density."):
sns.distplot(df, kde_kws={'bw': 0.1})
else:
raise re
這對我有用。

TA貢獻(xiàn)1895條經(jīng)驗(yàn) 獲得超7個(gè)贊
您有三種選擇可以嘗試
第一個(gè):使用默認(rèn)設(shè)置顯示 KDE 塊
sns.distplot(ser_test, hist = False, rug = True, rug_kws = {'color' : 'r'})
第二:帶寬窄的KDE,顯示單個(gè)概率塊
sns.distplot(ser_test, hist = False, rug = True, rug_kws = {'color' : 'r'}, kde_kws = {'bw' : 1})
第三:選擇不同的三角形核函數(shù)(塊狀)
sns.distplot(ser_test, hist = False, rug = True, rug_kws = {'color' : 'r'}, kde_kws = {'bw' : 1.5, 'kernel' : 'tri'})

TA貢獻(xiàn)1847條經(jīng)驗(yàn) 獲得超11個(gè)贊
出現(xiàn)此問題是由于 .statsmodels
無論如何,要解決從0.10.0開始的seaborn版本的問題,只需將arg放置即可。diag_kws={'bw': 1}
嘗試找出帶寬的最佳值。
添加回答
舉報(bào)