我有一个包含 19 列的 CSV。许多值都是小数,格式如“56,2”[德语/欧洲格式]。没什么大问题,我想使用“decimal=”参数:
self.imported_csv = pd.read_csv(full_path, encoding='utf_16_le', sep=';', on_bad_lines='warn', decimal=',')
工作正常 - 除了一列。因此,所有其他列都可以正确读取(浮动),但 ONE 列保留“,”作为小数分隔符。知道为什么这是可能的吗?
不知道为什么,我尝试了以下解决方法:
self.imported_csv['Luftdruck (hPa)'] = self.imported_csv['Luftdruck (hPa)'].astype(float)
...不幸的是我已经预料到了结果:无法将字符串转换为浮点数:'979,5'。
知道我在这里面临什么问题吗?预先感谢。
以下是 CSV 的一个示例行:
该列中很可能有一些字符串值,我会检查诸如“NAN”之类的内容或其他不会被解析的内容。
我会尝试以下方法,看看是否有效
imported_csv['Luftdruck (hPa)'] = imported_csv['Luftdruck (hPa)'].str.replace(",",".").astype(float)
否则检查列中是否有不可解析的值,例如实际字符串。