Python Pandas read_csv:将特定字符串转换为numpy.inf

Python Pandas read_csv:将特定字符串转换为numpy.inf,python,pandas,Python,Pandas,我有一个csv文件的数据。这些值是浮点值,但无限值除外,它由字符串“infinite”表示。这些值可以出现在任何列中 我想将“无限”字符串值转换为numpy.inf 使用numpy genfromtxt函数,我可以执行以下操作: dataparams={'delimiter':"\t", 'skip_header':1, 'names':True, 'missing_values':'INFINITE',

我有一个csv文件的数据。这些值是浮点值,但无限值除外,它由字符串“infinite”表示。这些值可以出现在任何列中

我想将“无限”字符串值转换为numpy.inf

使用numpy genfromtxt函数,我可以执行以下操作:

dataparams={'delimiter':"\t",
            'skip_header':1,
            'names':True,
            'missing_values':'INFINITE',
            'filling_values':np.inf}

data = np.genfromtxt(file,**dataparams)
我想对熊猫做同样的事情


我可以使用na_values='INFINITE'将'INFINITE'字符串转换为NaN,但这不是我想要的。Pandas文档表明Pandas>0.10支持inf值,但在读取文件时,我不知道如何进行转换。在pandas中有没有一个简单的方法可以做到这一点呢?

派对有点晚了,但在我解决这个问题时,我使用了一个
TextIOBase
的包装器,我认为它不支持作为参数arg,你必须将其作为后处理步骤来做,或者定义一个转换器函数并将其传递给
转换器
参数,或者你更愿意调用
fillna吗(np.inf)
作为传递
na_values='INFINITE'后的后处理步骤,我不想将'INFINITE'映射到NaN。数据集中可能缺少值。我想区分无限值和缺少的值。然后您必须调用
replace
或传递映射到某个用户定义方法t的dicto
converters
param for
read\u csv
这是有效的:
pd.read\u csv(file,sep='\t',header=1)。replace('INFINITE',np.inf)
它对于大文件可能不是很有效。我一直在尝试使用converters param来实现这一点,但我不知道如何为所有列编写转换器。