我正在加载一个CSV文件:
converters = {
...
col1: str,
...
}
prop = pd.read_csv(
'input/properties_2016.csv',
dtype=types,
converters=converters,
)
该列的数据如下:
'acura',123 'ford',234 'dodge',345 ,567
因此第四项被解释为N / A值。
我希望该列作为字符串加载。我认为字符串比对象更好,因为我是新的,我很容易说'#34;如果它是一个对象你没有做对,那么修复你如何导入该列"
但是当我检查专栏时:
prop.dtypes['col1']
类型为object
。
我期待NA值转换为字符串,因为:
str(None)
确实返回
'None'
那么如何将此导入作为字符串?
答案 0 :(得分:4)
Pandas将一系列字符串的dtype设置为object
字符串可以是可变宽度。所以,就我所知,你已经做好了一切。
如果您的数据与显示的数据类似,您甚至可以移除dtype
参数 - pd.read_csv
会自动检测到正确的dtype。您可以使用converters
(thanks to Mitch作为此建议)而非使用keep_default_na=False
参数:
prop = pd.read_csv('input/properties_2016.csv', header=None, keep_default_na=False)
产量
0 1
0 'acura' 123
1 'ford' 234
2 'dodge' 345
3 567
PS:如果可以,请避免使用converters
- 转换器功能分别应用于列中的每个值,因此如果您的CSV很大,相当于很多函数调用,这可能会减慢大大解析。