我有几个数据数字文件,其中十进制分隔符是逗号。所以我使用lambda函数进行转换:
import numpy as np
def decimal_converter(num_cols):
conv = dict((col, lambda valstr: \
float(valstr.decode('utf-8').replace(',', '.'))) for col in range(nb_cols))
return conv
data = np.genfromtxt("file.csv", converters = decimal_converter(3))
文件中的数据如下:
^{pr2}$在这里,我的函数decimal_converter
我需要指定我的文件包含的列数。通常,我不需要指定numpy.genfromtxt
文件中的列数,它将获取它找到的所有列。我想保留这个功能,即使当使用转换器选项。在
使用^{} 库可能不是您的选择,但是如果是的话,它的函数^{} 有一个
decimal
参数,可以用来配置小数点字符。例如然后你就拥有了熊猫的所有优点来操纵这些数据。或者您可以将数据帧转换为numpy数组:
^{pr2}$由于
genfromtxt()
接受迭代器,因此可以通过应用转换函数传递迭代器,然后可以避免使用converters参数:相关问题 更多 >
编程相关推荐