首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python read_csv dtype无法将"string“隐藏到"float64”

Python read_csv dtype无法将"string“隐藏到"float64”
EN

Stack Overflow用户
提问于 2020-09-26 16:38:41
回答 3查看 1.4K关注 0票数 0

我有一个带有头= "col1“和5个值的csv文件

代码语言:javascript
复制
col1
398
5432
5986
8109
/N

我打算把它设为熊猫的数字,所以我写了

代码语言:javascript
复制
import pandas as pd
data = pd.read_csv(r'\test1.csv', dtype = {'col1': 'float64'})

但是错误消息ValueError:无法将字符串转换为浮动:'/N‘

上面的代码在没有斜杠的情况下工作得很好,最后一行将变成"Nan“。但是,在不改变原始数据值的情况下,是否有任何方法来抑制“斜杠”并使代码运行?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-09-26 16:46:14

data = pd.read_csv(r'\test1.csv',dtype = {'col1':'float64'},na_value=r‘/N’)

根据文档,na_values参数是一个类似列表的字符串结构,可以识别为NaN。

票数 1
EN

Stack Overflow用户

发布于 2020-09-26 16:41:20

尝试使用error_bad_lines=False:

代码语言:javascript
复制
data = pd.read_csv(r'\test1.csv', dtype = {'col1': 'float64'}, error_bad_lines=False)
票数 1
EN

Stack Overflow用户

发布于 2020-09-26 16:53:15

您可以使用converters,使用errors='coerce'转换为NaN

代码语言:javascript
复制
def convert_float(val):
    return pd.to_numeric(val, errors='coerce')

df = pd.read_csv('test.csv', converters={'col1': convert_float})
print(df)

     col1
0   398.0
1  5432.0
2  5986.0
3  8109.0
4     NaN
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64080136

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档