当前位置: 首页 > 面试题库 >

获取pandas.read_csv以将空值读取为空字符串而不是nan

公冶嘉茂
2023-03-14
问题内容

我正在使用pandas库读取一些CSV数据。在我的数据中,某些列包含字符串。该字符串"nan"是一个可能的值,一个空字符串也可以。我设法让大熊猫以字符串形式读取“
nan”,但我不知道如何获取它而不读取作为NaN的空值。这是示例数据和输出

One,Two,Three
a,1,one
b,2,two
,3,three
d,4,nan
e,5,five
nan,6,
g,7,seven

>>> pandas.read_csv('test.csv', na_values={'One': [], "Three": []})
    One  Two  Three
0    a    1    one
1    b    2    two
2  NaN    3  three
3    d    4    nan
4    e    5   five
5  nan    6    NaN
6    g    7  seven

它正确地写着“男”为字符串“南”,但仍读取空单元格作为NaN的。我想传递strconverters参数read_csv(带converters={'One': str})),但它仍然读取空单元格作为NaN的。

我知道我可以在读取后使用fillna填充值,但是真的没有办法告诉熊猫特定CSV列中的空单元格应被读取为空字符串而不是NaN吗?


问题答案:

我添加了票证以在此处添加某种选项:

https://github.com/pydata/pandas/issues/1450

同时,result.fillna('')应该做你想做的

编辑:在开发版本中(最终为0.8.0),如果您指定的空列表na_values,则空字符串将在结果中保留空字符串



 类似资料:
  • 我正在用熊猫库读取一些CSV数据。在我的数据中,某些列包含字符串。字符串是一个可能的值,空字符串也是。我设法让熊猫把“楠”读成一个字符串,但我不知道如何让它不把一个空值读成NaN。这是样本数据和输出 它正确地将“nan”读取为字符串“nan”,但仍然将空单元格读取为nan。我尝试在参数中传入以读取\u csv(使用),但它仍然将空单元格读取为nan。 我意识到我可以在读取后用fillna填充值,但

  • 问题内容: 如何拆分字符串并获取NULL值而不是空字符串。 我特别感兴趣的两个方法和。我希望这个查询: 将返回第三行而不是空字符串。有没有简单的方法可以做到这一点,即使用特殊字符?我的意思是: 我希望我可以使用方法从字符串中提取NULL : 从这里获取的代码:https : //sqlperformance.com/2016/03/t-sql-queries/string- split 问题答案:

  • 问题内容: 我想获取字段的字符串值(它们可以是长字符串或任何对象的类型), 如果一个字段为空,那么它应该返回空字符串,我用番石榴做过; 但是如果gearbox为null,则返回null!非空字符串,因为valueOf methdod返回字符串“ null”,这会导致错误。 有任何想法吗? EDIt:有100多个字段,我正在寻找易于实现的字段 问题答案: 您可以使用(Java 7中的标准): 从链接

  • 我有以下疑问: 默认为空String(),它也可以设置为用户可以输入的字符串。 现在,默认情况下获取名称列填充文本或设置为空字符串的所有行。 但是,也有名称设置为NULL的行。 如果是空字符串,我如何更改查询以同时返回带有NULL的行?

  • 我想获取字段的字符串值(它们可以是长字符串或任何对象的类型), 如果一个字段为null,那么它应该返回空字符串,我对GUAVA就是这样做的; 但如果齿轮箱为空,则返回空!不是空字符串,因为valueOf MethodOd返回字符串“null”,这会导致错误。 有什么想法吗? 编辑:有100s字段我寻找一些容易实现的东西

  • 问题内容: 是否有可能以某种方式返回0而不是在JavaScript中解析值时返回? 如果为空,则返回。 是否可以在JavaScript中执行类似的操作来检查? 或者,也许还有另一个功能或jQuery插件可以做类似的事情? 问题答案: 当不与布尔值一起使用时,逻辑OR()运算符如果可以被评估为true,则返回第一个表达式(),否则返回第二个表达式(0)。返回值为NaN。NaN的计算结果为false,