我有两种需要纠正的错误数据。一个是null,一个是Nan。
>>> df_new
Volume Price
Date
2017-01-01 500 760
2017-01-02 null 760
2017-01-03 50 770
2017-01-04 null 780
另一种类型是使用NaN
>>> df_new
Volume Price
Date
2017-01-01 500 760
2017-01-02 NaN 760
2017-01-03 50 770
2017-01-04 NaN 780
如何用0替换null和NaN数据? 我的代码无论是null还是NaN都可以工作,但我不能同时使用
volume = df_new['Volume'] == 'null' or df_new['Volume'].isnull()
df_new.loc[volume,'Volume'] = 0
df_new.replace('null',np.NaN,inplace=True)
df_new.iloc[0].fillna(df_new.iloc[1].Open,inplace=True)
它返回错误
回溯(最近一次呼叫最后一次):文件"",第1行,in 文件 " /home/.local/lib/python2.7/site-packages/pandas/core/ops.py" ;, line 763,在包装器中res = na_op(values,other)文件 " /home/.local/lib/python2.7/site-packages/pandas/core/ops.py" ;, line 718,在na_op中引发TypeError("无效的类型比较")TypeError: 无效的类型比较
代码将在volume = df_new['Volume'] == 'null'
时有效,但这不会纠正数据,因为它是NaN,并且重新为0