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

如何用NULL将NULL视为普通字符串?

郑和泰
2023-03-14
问题内容

我有一个带有字符串列的csv文件,我想用熊猫阅读它。在此文件中,字符串null作为实际值出现,不应视为缺失值。

例:

import pandas as pd
from io import StringIO

data = u'strings,numbers\nfoo,1\nbar,2\nnull,3'
print(pd.read_csv(StringIO(data)))

这给出以下输出:

  strings  numbers
0     foo        1
1     bar        2
2     NaN        3

我该怎么做才能将值null按原样(而不是NaN)输入到DataFrame中?可以假定该文件不包含任何实际缺少的值。


问题答案:

您可以convertersstring列指定一个参数。

pd.read_csv(StringIO(data), converters={'strings' : str})

  strings  numbers
0     foo        1
1     bar        2
2    null        3

这将绕过熊猫的自动解析。

另一个选项是设置na_filter=False

pd.read_csv(StringIO(data), na_filter=False)

  strings  numbers
0     foo        1
1     bar        2
2    null        3

这适用于整个DataFrame,因此请谨慎使用。如果您要通过外科手术将其应用于选择列,则建议使用第一个选项。



 类似资料:
  • 我使用gson序列化java对象到json。 这个生成器处理好的空值。但与此同时,我希望它处理空字符串也为空。 这怎么能做到呢?

  • 问题内容: 我知道它 确实 将’|’视为,但这并不能告诉我 为什么 会这样。据我了解的SQL规范,“ |”与-是一个有效的数据,而另一个则表明缺少相同的信息。 随意推测,但请说明是否是这种情况。如果有Oracle的任何人可以对此发表评论,那就太好了! 问题答案: 我相信答案是甲骨文非常老。 早在SQL标准出现以前,Oracle就做出了以下设计决定:/列中的空字符串是并且只有一种NULL感觉(有一些

  • 代码只是简单地将我的变量名设置为字符串“null”,所以我不知道如何让程序等待输入。编译器不允许我在不初始化变量的情况下声明它。

  • 问题内容: 在Python中,我有一个像这样的字符串: 如何将其解码为普通字符串,例如: 问题答案: 如果您的输入值为字符串,请使用进行转换: 如果输入值是一个对象,则可以使用方法: 演示: 可以使用编解码器解码Python 2个字节的字符串: 对于 Unicode 文字(例如带前缀),请使用。

  • 问题内容: 我使用google-gson将Java映射序列化为JSON字符串。它提供了一个生成器来处理null值: 问题在于结果是字符串,如: 所需的结果是: 我可以为和进行字符串替换,但这很难看并且容易出错。是否有本地gson支持添加自定义String而不是? 问题答案: 如果这是您的应用程序类型,则可以注册类型适配器。但是Gson不允许您更改字符串或原始类型的序列化形式。 最好的选择是更改Ja

  • 我的JSON对象有一些空值(“”),所以在转换时会抛出错误。 这是我的JSON 我的代码: 我得到的错误是 com.google.gson.stream.malformedjsonexception 在将JSON对象解析为JSONArray时,如何将空字符串值转换为null? 我希望最终结果是