Pandas NaN列在图中绘制为全0列

Pandas NaN列在图中绘制为全0列,pandas,Pandas,我在绘制一个切片的数据帧时遇到了一些问题,整个列都被NaN填充 为什么: pandas.DataFrame( dict( A=pandas.Series([np.NaN]*32), B=pd.Series(range(-1,32)) ) ).plot() 不同于: #Ugly fix pandas.DataFrame( dict( A=pandas.Series( [0] + [numpy.NaN]*32),

我在绘制一个切片的
数据帧时遇到了一些问题,整个列都被NaN填充

为什么:

pandas.DataFrame(
    dict(
        A=pandas.Series([np.NaN]*32),
        B=pd.Series(range(-1,32))
    )
).plot()
不同于:

#Ugly fix
pandas.DataFrame(
    dict(
        A=pandas.Series( [0] + [numpy.NaN]*32),
        B=pd.Series(range(-1,32))
    )
).plot()
通过绘制一条0线,就像列中填充了零一样。 第一个代码不应该像:

pylab.plot(
    range(0,33),
    range(-1,32),
    range(0,32),
    [numpy.NaN]*32
)
而且还绘制了一系列充满NaN的作品,很好:

pandas.Series([numpy.NaN]*32).plot()

我错过了什么?是否有一种正确的方法来绘制包含所有NaN的列,还是它是一个bug?

这看起来像是
pandas
中的bug。查看源代码,在:

如果列仅包含NaN,则为空,值设置为np.zeros()

注意:我没有添加“IsThisRight?”注释:它在源代码中!(第5.0.8.1节)

我对此提出了一个问题:

empty = df[col].count() == 0                                       
# is this right?                                                   
values = df[col].values if not empty else np.zeros(len(df))