Seaborn带distplot的FutureWarning

时间:2018-11-16 08:57:15

标签: python plot warnings seaborn

每当我尝试使用distplot中的seaborn时,都会显示此警告,并且我似乎无法弄清楚自己在做什么错,很简单,对此感到抱歉。

警告:

  

FutureWarning:对多维使用非元组序列   不建议使用索引;使用arr[tuple(seq)]而不是arr[seq]。   将来将其解释为数组索引,   arr[np.array(seq)],这将导致错误或   结果不同。返回np.add.reduce(sorted [indexer] *权重,   axis = axis)/ sumval

以下是可重现的示例:

import numpy as np 
import pandas as pd 
import random

import seaborn as sns

kde_data = np.random.normal(loc=0.0, scale=1, size=100) # fake data
kde_data = pd.DataFrame(kde_data)
kde_data.columns = ["value"]
#kde_data.head()

现在,该图是正确的,但是我一直得到上​​面的warning并使用arr[tuple(seq)]而不是arr[seq]并没有太大帮助。

sns.distplot(kde_data.value, hist=False, kde=True)

enter image description here

我正在研究Jupyter,这是模块版本:

seaborn==0.9.0
scipy==1.1.0
pandas==0.23.0
numpy==1.15.4

2 个答案:

答案 0 :(得分:6)

您没有做错任何事情。目前,除了suppressing it之外,没有其他方法可以消除此警告。

这告诉您,seaborn使用的是scipy函数,由于最近的numpy版本所做的更改,将来会改变行为。我希望在这里发生的事情是,在将来的scipy版本中,该功能将更改为可以与将来的numpy版本一起使用。在此之前,您可能只决定接受警告。它不会以任何方式使绘图结果变差。

答案 1 :(得分:0)

this thread中,他们指出这是scipy的问题,升级到scipy> = 1.2应该可以解决该问题。