Python で CSV を NumPy 配列に読み込む

Manav Narula 2023年2月6日
  1. numpy.genfromtxt() 関数を使用して、CSV データを NumPy 配列に読み取る
  2. pandas DataFrame を使用して CSV データを NumPy 配列に読み取る
  3. csv モジュールを使用して、CSV データを NumPy 配列に読み取る
Python で CSV を NumPy 配列に読み込む

このチュートリアルでは、CSV ファイルからデータを読み取り、それを numpy 配列に格納する方法について説明します。

numpy.genfromtxt() 関数を使用して、CSV データを NumPy 配列に読み取る

genfromtxt() 関数は、テキストファイルからデータをロードするために頻繁に使用されます。この関数を使用して CSV ファイルからデータを読み取り、numpy 配列に格納できます。この関数には多くの引数があり、希望の形式でデータを簡単にロードできます。この関数のさまざまな引数を使用して、区切り文字の指定、欠落値の処理、指定された文字の削除、およびデータのデータ型の指定を行うことができます。

例えば、

from numpy import genfromtxt

data = genfromtxt("sample.csv", delimiter=",", skip_header=1)
print(data)

出力:

[[1. 2. 3.]
 [4. 5. 6.]]

recfromtxt()recfromcsv() など、同じ関数を実行できますがデフォルト値が異なる他の多くの関数がこれから派生しています。

次のコードでは、recfromcsv() ファイルを使用して CSV ファイルからデータを読み取ります。

import numpy as np

data = np.recfromcsv("sample.csv", skip_header=0)
print(data)

出力:

[(1, 2, 3) (4, 5, 6)]

ヘッダー行を指定するために、区切り文字をコンマとして指定し、別の値を指定する必要がないことに注意してください。

pandas DataFrame を使用して CSV データを NumPy 配列に読み取る

pandas DataFrame を使用して、CSV データを配列に読み込むこともできます。このために、データを DataFrame に読み取り、pandas ライブラリの values() 関数を使用してこれを NumPy 配列に変換します。

次のコードはこれを実装しています。

from pandas import read_csv

df = read_csv("sample.csv")
data = df.values
print(data)

出力:

[[1 2 3]
 [4 5 6]]

csv モジュールを使用して、CSV データを NumPy 配列に読み取る

csv モジュールは、CSV ファイルのデータの読み取りと書き込みを効率的に行うために使用されます。このメソッドは、このモジュールを使用して CSV ファイルからデータを読み取り、リストに保存します。次に、このリストを numpy 配列に変換します。

以下のコードはこれを説明します。

import csv
import numpy as np

with open("sample.csv", "r") as f:
    data = list(csv.reader(f, delimiter=";"))

data = np.array(data)
print(data)

出力:

[['1,2,3']
 ['4,5,6']]
著者: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn