numpy.array の dtype ..

下記のような、csvファイルをnumpyのarrayに読み込ませるスクリプトを書いていました。

   from csv import reader as csv_reader
    # データの読み込み
    print('data reading...')
    data = np.array([ [0 for ii in range(num_column)] for i in range(num_row)])
    with open(DataFile, 'r') as f:
        for ix, row in enumerate(list(csv_reader(f))):
            tmp = np.array(list(map(float, row)))
            data[ix][:] = tmp


(※genfromtxtなどは使えない状況)
ところが、単にこう書くとdataに入っている各要素がnp.int型になってしまいます。
tmp = np.array(list(map(float, row)))とfloatに変換しているのにも関わらず、です。
これを解消するには、array宣言時にdtypeを指定してやります。(4行目)

   from csv import reader as csv_reader
    # データの読み込み
    print('data reading...')
    data = np.array([ [0 for ii in range(num_column)] for i in range(num_row)], dtype=float)
    with open(DataFile, 'r') as f:
        for ix, row in enumerate(list(csv_reader(f))):
            tmp = np.array(list(map(float, row)))
            data[ix][:] = tmp


備忘録…..φ(。_。*) カキカキ