NumPyでCSVデータをレコード配列に読み込むにはどうすればいいですか?
R#39;の read.table()
, read.delim()
, `read.csv()ファミリーがR#39;のデータフレームにデータをインポートするのと同じように、CSVファイルの内容をレコード配列に直接インポートする方法はないのでしょうか?
それとも、csv.reader()を使用して、numpy.core.records.fromrecords()
のようなものを適用するのが一番良い方法なのでしょうか?
376
3
Numpy'の
genfromtxt()メソッドを使って、
delimiter`のクワーグをカンマに設定することで、これを実現することができます。この関数に関する詳しい情報は、それぞれのdocumentationにあります。
私は、
pandas
ライブラリの [read_csv`][1] 関数をお勧めします。これはpandasの[DataFrame][2]を生成し、[numpyのレコード配列では直接利用できない多くの便利なデータ操作関数][3]を可能にします。
DataFrameは、潜在的に異なるタイプの列を持つ2次元のラベル付きデータ構造です。 データフレームは、潜在的に異なるタイプの列を持つ2次元のラベル付きデータ構造です。表計算ソフトやSQLテーブルのようなものと考えればよいでしょう。 SQLテーブルのようなものです。
私も
genfromtxt
をお勧めします。しかし、質問では通常の配列ではなく、[レコード配列][4]を求めているので、genfromtxt
の呼び出しにdtype=None
パラメータを追加する必要があります。入力ファイルとして
myfile.csv
が与えられます。は配列を与えます.
そして
はレコード配列を与えます。
また、データ型を推測して適切にフォーマットされたレコード配列を返すことができる
recfromcsv()
を試すこともできます。