Pandas read_csv在分析数字时忽略美元符号

2024-05-01 22:43:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个csv文件,其中一些单元格有美元符号(例如$46.5)。我强制函数pandas.read_csv()中的所有类型都是numpy.float64。它抱怨ValueError: could not convert string to float: $46.5。有没有办法把这件事干净利落地处理好?在


Tags: 文件csvto函数numpy类型convertpandas
1条回答
网友
1楼 · 发布于 2024-05-01 22:43:13

您可以为相关列添加转换器:

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

相关问题 更多 >