pandas.read_csvでusecolsが効かない時の対処法

2020年4月22日

usecolsパラメータで利用するカラムを指定してread_csvを試みましたが、指定したカラムを取得できず空のDataFrameが返却されてしまいました。

調査した結果、read_csv実行時index_colパラメータでインデックスのカラムを指定していると発生するようでした。

解消法は以下の2つです。

  • usecolsで指定する値にindex_colで指定した値も入れ
  • index_colを指定しない

コード例を以下に示します。

# 空のDataFrameが返却される
df = pd.read_csv(FILE_NAME, index_col=[0], usecols=[1])

# csvの2列目だけ取得したDataFrameが返却される
df = pd.read_csv(FILE_NAME, index_col=[0], usecols=[1])

# csvの2列目だけ取得したDataFrameが返却される
df = pd.read_csv(FILE_NAME, usecols=[1])

usecolsを使う時にはお気をつけください。

参考ページ:pandasでcsv/tsvファイル読み込み(read_csv, read_table) | note.nkmk.me