creating an empty dataframe and populating rows laterとは異なり、連結する必要のあるデータフレームが多数あります。空のDataFrameを初期化して行を追加する
のみ2つのデータフレームがあった場合、私はこれを行うことができます。
df1 = pd.DataFrame([[1, 2], [3, 4]], columns=list('AB'))
df2 = pd.DataFrame([[5, 6], [7, 8]], columns=list('AB'))
df1.append(df2, ignore_index=True)
は私がデータフレームオブジェクトに新しいファイルを読み込むたびに、連結/追加する必要がありますdf
数百万を持っている想像してみてください。
しかしときに、私は空のデータフレームを初期化しようとした後、ループを介して新たなデータフレームを追加:
import pandas as pd
alldf = pd.DataFrame(, columns=list('AB'))
for filename in os.listdir(indir):
df = pd.read_csv(indir+filename, delimiter=' ')
alldf.append(df, ignore_index=True)
これは、例えば、唯一のヘッダ行で空alldf
を返します@DSMコメントから
alldf = pd.DataFrame(columns=list('AB'))
df1 = pd.DataFrame([[1, 2], [3, 4]], columns=list('AB'))
df2 = pd.DataFrame([[5, 6], [7, 8]], columns=list('AB'))
for df in [df1, df2]:
alldf.append(df, ignore_index=True)
DataFrame.appendは(list.appendとは違って)その場で発生しませんので、あなただけのアップつまずいなっていますか?もしそうなら、これは何かのダップです、私は確信しています。 [そして、あなたは本当に追加を使いたくないので、すべてを最初に読んで連結したいと思っています。追加は非常に遅いでしょう。] – DSM
ありがとうございます。 DB =( – alvas