【Python】numpyを使ってCSVファイルを読み込む方法

PythonでカンタンにCSVファイルを扱う方法の一つとしてnumpyライブラリがあります。

この記事では、numpyという強力な数値計算ライブラリを使ってcsvファイルを読み込み、操作、書き出す方法を解説します。

目次から探す

numpyを使ってcsvファイルを読み込む方法

Pythonでcsvファイルを読み込む方法として、numpyというライブラリを使う方法があります。

numpyは数値計算を効率的に行うためのライブラリで、csvファイルの読み込みも簡単に行えます。

numpyのインストール

numpyを使うにはまずインストールが必要です。インストールせずに使おうとするとエラーになります。

インストールしていない場合は、以下のコマンドでインストールしてください。

pip install numpy

numpyのインポート

numpyをインストールしたら、次にPythonプログラムでnumpyをインポートします。

numpyは一般的にnpという名前でインポートされます。


import numpy as np

numpyのloadtxt関数

numpyにはcsvファイルを読み込むためのloadtxt関数があります。

loadtxt関数の基本的な使い方

loadtxt関数を使ってcsvファイルを読み込むには、以下のようにファイル名を指定します。


data = np.loadtxt('sample.csv')
print(data)

上記のコードでCSVファイルを読み込めますが、区切り文字(デリミター)が適切に設定されていないため、おそらく期待通りの結果にならないはずです。

区切り文字の指定(重要)

デフォルトでは、loadtxt関数はスペース区切りのファイルを読み込みます。

csvファイルはカンマ区切りなので、delimiter引数で区切り文字を指定します。


data = np.loadtxt('sample.csv', delimiter=',')
print(data)

ヘッダー行のスキップ

csvファイルにヘッダー行がある場合、skiprows引数でスキップする行数を指定できます。


data = np.loadtxt('sample.csv', delimiter=',', skiprows=1)
print(data)

ヘッダー行が2行以上ある場合は、skiprows=2のように行数分指定してください。

特定の列だけを読み込む

usecols引数を使って、特定の列だけを読み込むことができます。


data = np.loadtxt('sample.csv', delimiter=',', skiprows=1, usecols=[0, 2])
print(data)

上記コードは先頭行から2行読み込むことを意味しています。

numpyのgenfromtxt関数

numpyにはもう一つ、genfromtxt関数というcsvファイルを読み込むための関数があります。

genfromtxt関数はloadtxt関数よりも柔軟な設定が可能です。

genfromtxt関数の基本的な使い方

genfromtxt関数を使ってcsvファイルを読み込むには、以下のようにファイル名を指定します。


data = np.genfromtxt('sample.csv', delimiter=',')
print(data)

欠損値の扱い

genfromtxt関数は、データに欠損値がある場合でも読み込むことができます。

欠損値はデフォルトでnanとして扱われます。


data = np.genfromtxt('sample_with_missing_values.csv', delimiter=',')
print(data)

データ型の指定

dtype引数を使って、読み込むデータの型を指定できます。


data = np.genfromtxt('sample.csv', delimiter=',', dtype=float)
print(data)

自動的なデータ型の推定

genfromtxt関数は、dtype=Noneを指定することで、自動的にデータ型を推定して読み込むことができます。


data = np.genfromtxt('sample.csv', delimiter=',', dtype=None)
print(data)

以上が、numpyを使ってcsvファイルを読み込む方法です。

numpyを使うことで、簡単にcsvファイルを読み込んでデータ処理を行うことができます。

1 2 3
目次から探す