每当我尝试使用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)
我正在研究Jupyter,这是模块版本:
seaborn==0.9.0
scipy==1.1.0
pandas==0.23.0
numpy==1.15.4
答案 0 :(得分:6)
您没有做错任何事情。目前,除了suppressing it之外,没有其他方法可以消除此警告。
这告诉您,seaborn使用的是scipy函数,由于最近的numpy版本所做的更改,将来会改变行为。我希望在这里发生的事情是,在将来的scipy版本中,该功能将更改为可以与将来的numpy版本一起使用。在此之前,您可能只决定接受警告。它不会以任何方式使绘图结果变差。
答案 1 :(得分:0)
在this thread中,他们指出这是scipy的问题,升级到scipy> = 1.2应该可以解决该问题。