Lea*_*arn 2 matplotlib python-3.x pandas
当使用直方图绘制熊猫数据框时,
样本数据框数据
distance
0 5.680195
2 0.000000
3 7.974658
4 2.461387
5 9.703089
Run Code Online (Sandbox Code Playgroud)
我用来绘制的代码
import matplotlib.pyplot as plt
plt.hist(df['distance'].values)
plt.show()
Run Code Online (Sandbox Code Playgroud)
我有这个错误
"ValueError: range parameter must be finite."
Run Code Online (Sandbox Code Playgroud)
我的尝试
df['Round_Distance'] = df['distance'].round(1)
0 5.7
2 0.0
3 8.0
4 2.5
5 9.7
Run Code Online (Sandbox Code Playgroud)
再次绘图,新错误
plt.hist(df['Round_Distance'].values)
plt.show()
ValueError: max must be larger than min in range parameter.
Run Code Online (Sandbox Code Playgroud)
奇怪的是,我使用的解决方法如下,我不必回滚
df['distance'].hist(bins=[0,25,50,75,100,125,150,175], color='g')
Run Code Online (Sandbox Code Playgroud)
听起来好像您有一些NaNs或inf实际数据。您只能像这样选择有限的值:
import numpy as np
df[np.isfinite(df['distance'])]
Run Code Online (Sandbox Code Playgroud)
因此,您的情节可以通过以下方式获得:
plt.hist(df[np.isfinite(df['distance'])].values)
Run Code Online (Sandbox Code Playgroud)
只是为了添加到 sacul 的答案,您可以使用以下命令检查您是否有NaNs或inf在任何列上:
为了NaNs:
df.isnull().sum()
Run Code Online (Sandbox Code Playgroud)
为了inf:
df.max()
Run Code Online (Sandbox Code Playgroud)
希望能帮助到你 !
NaN 导致问题,我不需要舍入它,只需删除 NaN,然后它就可以工作
plt.hist(df['distance'].dropna().values)
plt.show()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7123 次 |
| 最近记录: |