python数据清理:将DataFrame中的某列数据类型转换为数值型,若个别数据不能转换替换为NaN

问题:

将DataFrame中的某列数据类型转换为数值型,若个别数据不能转换替换为NaN

寻常的解决思路:

用python库函数中自带的函数转换,最好是形如下的函数:

转数值型方法(传入原数据){
	数据转换
	返回 转换后数据
}

但苦苦百度、谷歌了一圈,没发现有这个功能的函数。
只找到了.astype('int')或.astype('float')或.astype('float64')
这种的只能转换原来就是数值型的,若是原数据中含有字符型就运行报错,无法得到结果。

最后解决办法:
思路:
可以用try-except机制去处理数据。能正常处理的,转换成数值型;转换异常的,用“NaN”替代。
代码实现:

for item in da.salary.tolist():
    try:
        dates.append(int(item))
    except:
        dates.append('NaN')
print(dates)

这样的转换竟然实现了预期的目的,很开心。有更好办法的朋友欢迎评论指点,留言交流。()

你可能感兴趣的:(python,python,数据清理,类型转换)