小数点記号がコンマであるデータ数値ファイルがいくつかあります。そこで、ラムダ関数を使用して変換を行います。
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))
ファイル内のデータは次のようになります。
0; 0,28321815; 0,5819178
1; 0,56868281; 0,85621369
2; 0,24022026; 0,53490058
3; 0,63641921; 0,0293904
4; 0,65585546; 0,55913776
ここで私の関数でdecimal_converter
は、ファイルに含まれる列の数を指定する必要があります。通常、ファイル内の列数を指定する必要はなくnumpy.genfromtxt
、見つかったすべての列が使用されます。コンバーターオプションを使用する場合でも、この機能を維持したいと思います。