如何用NULL将NULL视为普通字符串?
我有一个带有字符串列的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中?可以假定该文件不包含任何实际缺少的值。
-
您可以
converters
为string
列指定一个参数。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,因此请谨慎使用。如果您要通过外科手术将其应用于选择列,则建议使用第一个选项。