You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Pandas空DataFrame拼接临时DataFrame后仍为空的解决方案咨询

循环拼接DataFrame后仍为空的解决方法

问题根源

pd.concat() 和已弃用的append()方法都是返回新的DataFrame对象,不会直接修改原变量。你之前的代码仅调用了拼接方法,但未将结果重新赋值给df_data,导致原空DataFrame始终未被更新。

解决方案

方案1:每次拼接后重新赋值

直接将拼接结果覆盖原变量,同时建议添加ignore_index=True避免索引重复问题:

import pandas as pd

df_data = pd.DataFrame()
for data in list:
    df_temporary_data = method_which_provides_df_with_data()
    df_data = pd.concat([df_data, df_temporary_data], ignore_index=True)

方案2:先收集所有临时DataFrame再一次性拼接(更高效)

循环内频繁拼接会重复创建对象,效率较低。推荐先将所有临时DataFrame存入列表,最后一次性完成拼接:

import pandas as pd

temp_dfs = []
for data in list:
    df_temporary_data = method_which_provides_df_with_data()
    temp_dfs.append(df_temporary_data)

df_data = pd.concat(temp_dfs, ignore_index=True)

注意事项

pandas 2.0及以上版本已弃用DataFrame.append()方法,官方明确推荐使用pd.concat()作为替代方案,因此优先选择上述concat相关的实现方式。

内容的提问来源于stack exchange,提问作者usermate17921900

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 18:35:51