gpt4 book ai didi

python - 在循环中 append 数据帧

转载 作者:太空宇宙 更新时间:2023-11-03 19:41:04 25 4
gpt4 key购买 nike

目标:在循环中 append 数据帧以获取组合数据帧。

df_base = pd.DataFrame(columns=df_col.columns)
file_path = 'DATA/'
filenames = ['savedrecs-23.txt', 'savedrecs-25.txt', 'savedrecs-24.txt']

For 循环:

for file in filenames:
path = file_path+file
doc = codecs.open(path,'rU','UTF-8')

df_add = pd.read_csv(doc, sep='\t')
res = df_base.append(df_add)

res.shape

预期结果:(15, 67);所有三个数据帧合并为一个数据帧

当前结果:(5, 67);仅返回循环中的最后一个数据帧。

最佳答案

res = df_base.append(df_add)

Pandas append 函数不会修改调用它的对象。它返回一个新对象,其中包含 append 到原始数据帧行的添加数据帧中的行。

由于您从未修改过 df_base,因此您的输出只是最后一个文件中的帧, append 到空的 df_base 数据帧。

请注意 pandas documentation不建议将数据帧迭代地 append 在一起。相反,“更好的解决方案是将这些行 append 到列表中,然后立即将该列表与原始 DataFrame 连接起来。” (举例说明)

关于python - 在循环中 append 数据帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60420226/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com