複数のcsvファイルをpandasに取り込み、1つのDataFrameに連結する。
あるディレクトリから複数のcsvファイルをpandasに読み込み、それらを1つの大きなDataFrameに連結したいと考えています。しかし、私はそれを理解することができませんでした。今のところ、以下のような状況です。
import glob
import pandas as pd
# get data file names
path =r'C:\DRO\DCL_rawdata_files'
filenames = glob.glob(path + "/*.csv")
dfs = []
for filename in filenames:
dfs.append(pd.read_csv(filename))
# Concatenate all data into one DataFrame
big_frame = pd.concat(dfs, ignore_index=True)
私はforループの中で助けが必要だと思います。
315
3
もし、すべての
csv
ファイルに同じ列がある場合は、以下のコードを試してみてください。 ここでは、csv
を読み込んだ後、最初の行に列名を割り当てることができるように、header=0
を追加しています。darindaCoder's answer]1に代わるものです。
https://stackoverflow.com/a/21232849/186078][1]をググってみました。 しかし、最近では、データフレーム自体を繰り返し操作するよりも、numpyを使ってあらゆる操作を行い、それを一度データフレームに代入した方が早いと感じており、今回のソリューションでもそれが機能しているようです。
このページをご覧になった方には、この方法を検討していただきたいと心から思っていますが、この巨大なコードをコメントとして添付して、読みにくくなるのは避けたいと思っています。
numpyを使ってデータフレームの連結を高速化することができます。
タイミングの統計。