问题:
将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)
这样的转换竟然实现了预期的目的,很开心。有更好办法的朋友欢迎评论指点,留言交流。(▽)