在.csv fi中读取时,我似乎无法指定列数据类型

2024-06-30 05:21:47 发布

您现在位置:Python中文网/ 问答频道 /正文

noob问题(修订版):我读了一个.csv文件,并尝试指定如下数据类型:

import csv
import pandas as pd

cdc = pd.read_csv('myFile.csv', 
dtype = {
'Phenotype': str,
'State': str,
'EventType': str,
'EventYear': str,
'AgeCategory': str,
'NumberTested' : str,
'NumberResistant': str,        
'PercentResistant': str
 })

但在阅读了df文件后,我得到:

^{pr2}$

我想我应该得到每个列的字符串的数据类型。在

我希望每个列都作为一个字符串来读取,因为有些列是数字和字符串的混合体,您将在下面的.csv示例文件中看到这一点。一旦文件被读入,我就可以开始操纵该死的东西了!在

底线:我希望清理数据行,并将“None Tested”和“Not Defined”替换为nan或0。不管怎样,我不能用我能弄明白的“对象”来做。在

仅供参考,我把.csv作为没有'dtype'参数的df读入,但是我遇到了同样的问题。在阅读了没有指定数据类型的文件后,我尝试从现有列中创建一个新的整数列,但“object”数据类型似乎也妨碍了这一点。在

我卡住了。我环顾四周,似乎自己也不明白。在

这里的示例输入.csv文件:(行之间没有多余的行,我只是试图使行更可读)

Phenotype,State,EventType,EventYear,AgeCategory,NumberTested,NumberResistant,PercentResistant

Acinetobacter,AK,All HAIs,2011, 1-18,2,1,0.5

Acinetobacter,AK,CAUTI,2011, 1-18,0,None Tested,Not Defined

Acinetobacter,AK,CLABSI,2011, 1-18,0,None Tested,Not Defined

Acinetobacter,AK,SSI,2011, 1-18,0,None Tested,Not Defined

Acinetobacter,AK,All HAIs,2011,<1,2,2,1.0

Acinetobacter,AK,CAUTI,2011,<1,0,None Tested,Not Defined

Acinetobacter,AK,CLABSI,2011,<1,0,None Tested,Not Defined

Acinetobacter,AK,SSI,2011,<1,0,None Tested,Not Defined

Acinetobacter,AK,All HAIs,2011,19-64,(1-19),Insufficient Data,Insufficient Data

Tags: 文件csv字符串importnonenotallpd