【pandas】csvファイルを読み込む方法

pandas_read_csv

pandasを使う最大の目的の一つに、csv形式のデータをいじくり回したい、ということがあるかと思います。
本記事ではその初歩となる『pandasにおけるcsvの読み込み』について解説します。

csvを普通に読み込む

『read_csv()』を使います。

import pandas as pd 
df = pd.read_csv('csvファイルのパス')

ヘッダー無しでcsvを読み込む

csvを普通に読み込むと、一番上の行が見出しとして読み込まれます。見出し無しのcsvデータの場合は、逆に困ってしまうので、ヘッダー無しで読み込む方法が存在します。

import pandas as pd 
df = pd.read_csv('csvファイルのパス', header=None)

さらに詳しく:【Python】pandasでヘッダー無しでデータを読み込む

列を指定してcsvを読み込む

usecolsをオプションで指定すると、列を絞り込んで読み込むことができます。

例えば、以下の様なデータがあったとします。

  1列目, 2列目, 3列目
0 A   B     C
1 D     E     F
2 G     H     I
3 J     K     L

1列目と2列目だけ読み込むには、usecols=[0, 1]を指定します。

import pandas as pd 
df = pd.read_csv('csvファイルのパス', usecols=[0, 1])

#  1列目, 2列目
#0 A   B     
#1 D     E     
#2 G     H     
#3 J     K     

また、『usercols=[‘1列目’, ‘2列目’]』のように、列目で指定することもできます。

行を指定してcsvを読み込む

行を指定して読み込む方法は、列の場合とはなぜか違います。ここでは、2つ紹介します。

  • 先頭から読み込む行数を指定
  • 先頭から飛ばす行数を指定

先頭から読み込む行数を指定

『nrows』を指定すれば一番上の行から、何行読み込むのか指定できます。

  1列目, 2列目, 3列目
0 A   B     C
1 D     E     F
2 G     H     I
3 J     K     L

こちらのデータを、上から3行読み込んでみます。

import pandas as pd 
df = pd.read_csv('csvファイルのパス', nrows=3)

#  1列目, 2列目, 3列目
#0 A   B     C
#1 D     E     F
#2 G     H     I

先頭から飛ばす行数を指定

csvデータの上の方にいらない行が複数あったりすることがあります。そんな時は『skiprows』を使って飛ばしてしまいます。

import pandas as pd 
df = pd.read_csv('csvファイルのパス', skiprows=2)

#  1列目, 2列目, 3列目
#0 G     H     I
#1 J     K     L