Pandas DataFrame で圧縮したデータファイルを読み込む

概要

圧縮されたファイルを Pandas DataFrame で読み込むための手順を紹介する。
毎回解凍してから読み込みをしていたのを、圧縮したまま読み込めたので、忘備録として残す。 今回は gzip 圧縮した前提で記載します。

内容

すごくシンプルだったので、まずコードを載せます。

import pandas as pd

gz_file_path = 'file.tsv.gz'
df = pd.read_table(gz_file_path, compression='gzip')
df.head()

gzip 圧縮したファイルのパスを gz_file_path に格納しています。 その後、 pd.read_table で読み込みをしています。
その際に compression オプションで圧縮フォーマットを指定するだけで、 読み込んでくれます。
自分の手元では、 header に column 名が載っているデータを読み込ませたところ、 df.head() で DataFrame の先頭の5件を表示させたときに header 行の内容が表示されていました。
もし、 header 行が無いデータの場合は、 names オプションにカラム名を指定すればよい。

扱える圧縮のファイル形式

扱えるフォーマットは、

がある。 compression オプションで圧縮フォーマットを指定しない場合、
ファイルの拡張子から圧縮フォーマットを推定してくれるみたいだが、
明示的に記載している方がよいと思われる。