4

I am trying to plot distribution graph in python using seaborn . But I am getting error which I am not able to solve given below.

Code:

sns.distplot(df['nn'])

Error:

cannot convert float NaN to integer

Is there any efficient way to solve this by plotting histogram and the distribution?

petezurich
  • 9,280
  • 9
  • 43
  • 57
Zhoe
  • 147
  • 2
  • 9

2 Answers2

10

It's because you have missing values in your "nn" variable and seaborn distplot does not handle missing values, you can remove the missing values when plotting:

df = pd.DataFrame([1,1,2,3,4,5,6,6,6,6,np.nan], columns = ["nn"])
sns.distplot(df['nn'].dropna())

This will give you the plot: enter image description here

TYZ
  • 8,466
  • 5
  • 29
  • 60
1

You provide very little info. However try to skip nan values like

df.dropna(how='all', inplace=True)

More examples: https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.dropna.html

pcu
  • 1,204
  • 11
  • 27