我需要检测并防止任何非数字数据进入我的数据框。
例:
value in out transf inc buy
0 208372 4206.84 4692.22 215976 725.41 105339.92
1 abs 0.00 1270.28 13602 1151.29 0.00
2 230172 0.00 1930.40 21539 1938.59 0.00
3 394391 0.00 11517.96 174320 1517.06 170032.09
4 382101 0.00 2962.82 0 3001.14 10000.00
print(df.dtypes)给了我这个:
value object
in float64
out float64
transf int64
inc float64
buy float64
dtype: object
那么,如何检测是否有任何非数字(float64,int64)数据类型?
谢谢。
尝试使用pd.to_numeric
,它将把非数字更改为NaN。然后我们只需要使用isna
或检测NaNisnull
df.apply(pd.to_numeric,errors='coerce')
value in out transf inc buy
0 208372.0 4206.84 4692.22 215976 725.41 105339.92
1 NaN 0.00 1270.28 13602 1151.29 0.00
2 230172.0 0.00 1930.40 21539 1938.59 0.00
3 394391.0 0.00 11517.96 174320 1517.06 170032.09
4 382101.0 0.00 2962.82 0 3001.14 10000.00
让我们添加
df.apply(pd.to_numeric,errors='coerce').isnull().any().any()
如果True
应该是一个问题,如果False
应该可以
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句