用于未知列的readcsv转换器



我正在尝试读取一个csv文件,该文件在每个单元格中都包含多个值,我想将它们编码为一个int格式的字节,存储在panda单元格中(例如(1,1)->771)。为此,我想使用read_csv函数的converters参数。问题是,我之前不知道列的名称,要传递给转换器的值应该是一个以列名为键的dict。事实上,我想用相同的转换器函数转换所有列。为此,最好写下:

read_csv(fhand, converter=my_endocing_function)

比:

read_csv(fhand, converters={'col1':my_endocing_function,
                            'col2':my_endocing_function,
                            'col3':my_endocing_function,})

这样的事情可能发生吗?现在解决我正在做的问题:

dataframe = read_csv(fhand)
enc_func = numpy.vectorize(encoder.encode_genotype)
dataframe = dataframe.apply(enc_func, axis=1)

但我想这种方法可能效率较低。顺便说一句,我对to_string方法使用的格式化程序也有类似的疑问。

您可以传递整数(0,1,2)而不是名称。从文档字符串:

converters : dict. optional
    Dict of functions for converting values in certain columns. Keys can either
    be integers or column labels

相关内容

  • 没有找到相关文章

最新更新