处理同一列中的多种数据类型并将其转换为数值

时间:2018-11-26 22:43:09

标签: python pandas types numeric

我正在尝试清洁我的Dataframe。问题是我想将300多个不同的列转换为数值,但是在同一列中我有多种数据类型。 以DataFrame为例:

ID  MONOCITOS   EOSIN    EOSINOFILOS NORMOBLASTOS   
0   5   0.21    2   0   0.04    31.0
2   9   <0.22   False   0   0.04    33.0
5   12.8    0.16    0   0   0.02    sdfdr
6   No  0   fh  0   0.02    60.0
9   0   0.28    3   -   0.06    Nan
14  3   -   3   -   -   59.0

将具有不同数据类型的列转换为数值的最佳方法是什么?是否有任何模块可以自动执行此任务? 谢谢

1 个答案:

答案 0 :(得分:0)

您可以像这样转换多个列:

df[["col1", "col2"]] = df[["col1", "col2"]].apply(pd.to_numeric, errors='coerce')

或更改整个数据框:

df = df.apply(pd.to_numeric, errors='coerce')

强制将使不可转换的值为NaN