Python 生成直方图时如何防止重复的NaN条目?

Python 生成直方图时如何防止重复的NaN条目?,python,pandas,histogram,Python,Pandas,Histogram,假设我有一个熊猫系列,其中包含一些南 import pandas as pd itvl = pd.Interval(left=2.0, right=3.0, closed='right') srs = pd.Series(data=[itvl, float('nan'), float('nan'), itvl]) 我想生成一个直方图 hist = pd.Series(dtype=float) for row in srs: if isinstance(row, float):

假设我有一个熊猫系列,其中包含一些南

import pandas as pd
itvl = pd.Interval(left=2.0, right=3.0, closed='right')
srs = pd.Series(data=[itvl, float('nan'), float('nan'), itvl])
我想生成一个直方图

hist = pd.Series(dtype=float)
for row in srs:
    if isinstance(row, float):
        if float("nan") in hist:
            hist.loc[float("nan")] += 1
        else:
            hist.loc[float("nan")] = 1
    else:
        if row in hist:
            hist.loc[row] += 1
        else:
            hist.loc[row] = 1
hist
此代码生成一个直方图,如下所示

(2.0, 3.0]    2
NaN           1
NaN           1 
dtype: int64
是否有人知道如何修改代码,使其能够识别“NaN”条目应该组合在一起


谢谢大家!

使用
fillna
NaN
值替换为字符串

srs.fillna('No interval', inplace=True)

当我尝试得到一个错误时,
TypeError:'IntervalArray.fillna'只支持用标量'pandas.Interval'填充。取而代之的是“str”。
有什么建议吗?解决方法是
srs.fillna(pd.Interval(-np.inf,-np.inf),inplace=True)
。。。也许一个解决方案是首先避免这些NAN,您是否可以编辑您的问题并包含填充该区间序列的代码?NAN位于原始数据集中。我认为,它们通常代表着对原始调查中的问题没有回应。事实上,我在这篇文章中的目标是获得一些帮助,找到在我的分析中包含NAN的方法。我想计算它们,而不是插补或删除它们。好吧,如果你使用任何类型的回归/分类或ML算法,这会有一些影响。区间数据通常被认为是有序的(区间1小于区间2),但如果包含“区间NaN”,则必须将数据从区间改为,因为区间NaN不能与不等式进行比较(>,