numpy genfromtxtで読み込む行が一行しかない場合

numpy genfromtxt関数を使うと、csvファイルのような構造データファイルを、下記のような記述で、簡単に読み込めて便利です。

Everything is expanded.Everything is shortened.
  1
 
data = np.genfromtxt(file_name, dtype=np.dtype(input_vars), delimiter=",")

読み込む行が下記のように2行以上ある

 1,2,3
 4,5,6

のような場合は、data.shapeは、(2,)のようになります。

一方、読み込む行が1行しかない

 1,2,3

のような場合は、data.shape(1,)となって欲しいところが、()となってしまい、後々のプログラムで場合分けが発生するなど不便です。

これの解決策は、下のように記述します。

Everything is expanded.Everything is shortened.
  1
  2
 
 
data = np.genfromtxt(file_name, dtype=np.dtype(input_vars), delimiter=",")
data = np.atleast_1d(data)

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2022-06-08 (水) 18:30:23 (65d)