[Solved] Python Histogram ValueError: range parameter must be finite

when plotting Pandas dataframe using a histogram,

sample dataframe data

0    5.680195
2    0.000000
3    7.974658
4    2.461387
5    9.703089

code I use to plot

import matplotlib.pyplot as plt


I have this error

"ValueError: range parameter must be finite."  

my attempt

df['Round_Distance'] = df['distance'].round(1)

0    5.7
2    0.0
3    8.0
4    2.5
5    9.7

plot again, new error


ValueError: max must be larger than min in range parameter.

weird thing is, the work around i use is below, i don’t have to ROUND

df['distance'].hist(bins=[0,25,50,75,100,125,150,175], color='g')
Enquirer: Learn


Solution #1:

Sounds like you have some NaNs or inf in your actual data. You can select only those values that are finite like this:

import numpy as np


So your plot can be obtained like:

Respondent: Learn

Solution #2:

Just to add to sacul’s answer, you can check if you have NaNs or inf on any of your columns using this:

For NaNs :


For inf :


Hope it helps !

Respondent: sacuL

Solution #3:

NaN cause the issue, i don’t need to round it, just drop the NaN, then it works

Respondent: Juan C

The answers/resolutions are collected from stackoverflow, are licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0 .

Most Popular

To Top
India and Pakistan’s steroid-soaked rhetoric over Kashmir will come back to haunt them both clenbuterol australia bossier man pleads guilty for leadership role in anabolic steriod distribution conspiracy