我有一个正在清理的数据文件,源代码使用“--”来指示缺少的数据。我最终需要使此数据字段为整型或浮点型。但我不确定如何删除字符串。
在导入csv文件之前,我在type_dict语句中指定了类型。我的8个变量中有6个正确地作为整数或浮点数输入。当然,仍然是对象的两个变量是我需要修复的。
我已经尝试使用df = df.var.str.replace('--','')我已经尝试使用df.var.fillna(df.var.mode().values[0],inplace=True)(我想知道是否需要将值'0'更改为'--')
我的假设是,如果我能以某种方式清空这些单元格,我就可以将变量定义为int/float。
我肯定我错过了一些很简单的东西,我离开了又回来了,但我就是不明白。
2条答案
按热度按时间kcrjzv8t1#
在进入Pandas之前,尝试类似这样的清洁输入
axzmvihb2#
好吧,我们想出了两个办法:
解决方案1:df = df.replace(r '^--$',np.nan,正则表达式=True)
解决方案2(#1简化版本):df = df.替换(r '--',np.nan)
当我将csv导出到电子表格时,这两个文件都给出了预期的空单元格输出。然后当我重新导入中间文件时,我得到了浮点数而不是预期的字符串。