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
我想看到'str'在我使用数据框类型好吧,.dtypes是一个numpy函数,除数字表示之外的任何内容都将作为“object”返回。因此,我的值确实是作为字符串读入的。好吧。我在这里找到了答案:can not convert column type from object to str in python dataframe
这个链接对像我这样的新手也很有帮助:How to get datatypes of all columns using a single command [ Python - Pandas ]?
相关问题 更多 >
编程相关推荐