FutureWarning with distplot in seaborn

11,579

You are not doing anything wrong. Currently there is no way to get rid of this warning, other than possibly suppressing it.

What this tells you is that seaborn uses a scipy function that will change behaviour in the future due to a change made in a recent numpy version. What I expect to happen here is that in a future scipy release that function will be changed to work nicely with any past of future numpy version. Until then you may just decide to live with the warning. It will not deteriorate the plotting results in any way.

Share:
11,579
RLave
Author by

RLave

Updated on June 29, 2022

Comments

  • RLave
    RLave almost 2 years

    I have this warning that shows up whenever I try to use distplot from seaborn, and I can't seem to figure out what I'm doing wrong, sorry if it's simple.

    Warning:

    FutureWarning: Using a non-tuple sequence for multidimensional indexing is deprecated; use arr[tuple(seq)] instead of arr[seq]. In the future this will be interpreted as an array index, arr[np.array(seq)], which will result either in an error or a different result. return np.add.reduce(sorted[indexer] * weights, axis=axis) / sumval

    Here a reproducible example:

    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()
    

    Now, the plot is correct, but I keep getting the warning above and use arr[tuple(seq)] instead of arr[seq] doesn't help me much.

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

    enter image description here

    I'm working on Jupyter, and this are the modules versions:

    seaborn==0.9.0
    scipy==1.1.0
    pandas==0.23.0
    numpy==1.15.4
    
  • Oleg Melnikov
    Oleg Melnikov over 3 years
    Hiding a warning can lead to unexpected behavior (sometimes more serious, such as non-convergence of an algorithm). The package authors have place warnings for a reason. Here is a way to avoid this particular one.