与创建空数据框并稍后填充行不同,我有很多数据框需要连接。
如果只有两个数据框,我可以这样做:
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)
想象一下,每次我将新文件读入 DataFrame 对象时,我都有数百万个
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
,仅包含标题行,例如
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)
df1