【Pandas】複数のファイルをまとめて読み込む方法

pandasでデータを扱う時に、データが複数のファイルに別れていることがあります。

例えば、

  • trainFD001.txt
  • trainFD002.txt
  • trainFD003.txt
  • trainFD004.txt

と4つのファイルがあった時にこれをまとめて1つのデータフレームとして読み込ませたい。

1つのファイルであれば`read_csv`で良いですが、複数ファイルというとそうはいかない。

この4つのデータはカラムが全て同じで、行ごとに4つにぶった切った形です。

そんな時には、以下のようにコードを書きます。

import pandas as pd
import glob

path = "/Users/hoge/notebooks/Turbofan" # use your path
all_files = glob.glob(path + "/train_*.txt")

li = []

for filename in all_files:
    df = pd.read_csv(filename, header=None,delimiter=" ")
    li.append(df)

frame = pd.concat(li, axis=0, ignore_index=True)

 

`read_csv`の引数には、ヘッダー行の読み込みをしないようにし、区切り文字としてスペースを指定しています。

`pd.concat`の引数、axis=0は行同士の結合、ignore_indexは=Trueでインデックスを0から振り直す。

これでうまくいきました。

おわり。

ABOUTこの記事をかいた人

個人アプリ開発者。Python、Swift、Unityのことを発信します。月間2.5万PVブログ運営。 Twitter:@yamagablog