我有一个 csv 文件,其中一些单元格带有美元符号(例如 $46.5)。我在函数 pandas.read_csv() 中强制所有类型为 numpy.float64。它提示 ValueError: could not convert string to float: $46.5。有没有办法干净利落地处理这个问题?
请您参考如下方法:
您可以为相关列添加转换器:
pd.DataFrame({'col1': ['$46.51', '$38.00', 40],
'col2': [1, 2, 3]}).to_csv('test_df.csv', index=False)
>>> pd.read_csv('test_df.csv', converters={'col1': lambda s: float(s.replace('$', ''))})
col1 col2
0 46.51 1
1 38.00 2
2 40.00 3
