NO IMAGE

【Python, Pandas】pandas.read_csv 便利なパラメータ一覧

pandasでcsvを読み込む際に便利なパラメータを整理しました。

今回、サンプルとして以下のようなcsvを用意しました。

パラメーターを指定しない場合のアウトプットは、以下の通りです。

1行目(A~E)は、columnとして認識され、A列目(0~7)はindexとして認識されていません。

header :column(列名)となる行を指定

デフォルト、header=0

デフォルト(何も指定しない)だと、csvの1行目がヘッダーとして読み込まれます。

header=0 もデフォルトと同様です。

df = pd.read_csv('sample.csv', header=0)

指定の行をcolumnに指定

headerに指定したい行を入れます。

csvの2行目(DataFrameでは0行目から始まるので1行目)を指定したい場合は、以下の通りです。

df = pd.read_csv('sample.csv', header=1)

複数の行をcolumnに指定

header=[1,3]のように整数リストを与えると、1、3行目を列名として複数指定できます。

df = pd.read_csv('sample.csv', header=[1,3])

index_col :index(行名)の列を指定

indexとなる列を指定します。

df = pd.read_csv('sample.csv', index_col=0)

names :column(列名)を任意に指定

列名を任意に指定できます。

df = pd.read_csv('sample.csv', index_col=0, names=['い','ろ','は','に','ほ'])

skiprows:行をスキップ

読み込ませたくない行をスキップできます。

以下の例は、csv上の2行目と4行目をスキップしています。

df = pd.read_csv('sample.csv', index_col=0,skiprows=[1,3])

skipfooter:下から指定した行数スキップ

下から指定した行数を読み飛ばします。

以下は、下2行を読まないようにしています。

df = pd.read_csv('sample.csv', index_col=0, skipfooter=2)

nrows:読み込む行数の指定

読み込む行数を指定します。

以下は上から3行だけを読み込んでいます。

df = pd.read_csv('sample.csv', index_col=0,nrows=3)

usecols:読み込む列を指定

読み込む列をcolumn名で指定します。

df = pd.read_csv('sample.csv',usecols=['A','C','E'])

dtype:読み込み形式の指定

読み込む形式を指定します。デフォルトは、文字列型(str)です。

floatやint、objectなどに指定します

df = pd.read_csv('sample.csv',dtype = {'A':'object', 'B':'str', 'C':'object','D':'float','E':'str'})

encoding:文字コードの指定

pandas.read_csv(filepath_or_buffer,encoding='shift-jis')

読み取る文字コードを指定します。encodingを指定します。

日本語で一般的に使われるのは、 “shift-jis” “utf-8” を指定します。

数字の表などで、ヘッダーだけ日本語で何やっても文字化けするときは、先述した ”skiprow” と header でヘッダーを読み込まないで、後から指定する方がスムーズかもしれません。

まとめ

ここでは、よく使うパラメータのみを取り上げています。

より詳しく知りたい方は、ドキュメントを直接確認するのが良いと思います。

Pandas document pandas.read_csv

関連記事

NO IMAGE
最新情報をチェックしよう!