我刚拿起 Pandas 来做一些生物学研究中的数据分析工作。原来我正在分析的一种蛋白质叫做“NA”。
我在列标题上有一个带有成对“HA、M1、M2、NA、NP ...”的矩阵,并且与“行标题”相同(对于可能阅读此内容的生物学家,我正在研究流感)。
当我直接从 CSV 文件将数据导入 Pandas 时,它会将“行标题”读取为“HA、M1、M2 ...”,然后将 NA 读取为 NaN。有没有办法阻止这种情况?列标题很好 - 'HA、M1、M2、NA、NP 等......'
我刚拿起 Pandas 来做一些生物学研究中的数据分析工作。原来我正在分析的一种蛋白质叫做“NA”。
我在列标题上有一个带有成对“HA、M1、M2、NA、NP ...”的矩阵,并且与“行标题”相同(对于可能阅读此内容的生物学家,我正在研究流感)。
当我直接从 CSV 文件将数据导入 Pandas 时,它会将“行标题”读取为“HA、M1、M2 ...”,然后将 NA 读取为 NaN。有没有办法阻止这种情况?列标题很好 - 'HA、M1、M2、NA、NP 等......'
以这种方式关闭 NaN 检测:pd.read_csv(filename, keep_default_na=False)
我最初建议na_filter=False
,它完成了工作。但是,如果我理解下面 Jeff 的评论,这是一个更清洁的解决方案。
例子:
In [1]: pd.read_csv('test')
Out[1]:[4]: pd.read_csv('test', keep_default_na=False)
Out[4]:1 2
2 3
刚刚遇到这个问题——我为列指定了一个 str 转换器,所以我可以将 na 保留在其他地方:
pd.read_csv(... , converters={ "file name": str, "company name": str})