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

Pandas DataFrame循环append采样数据遇弃用警告,求替代方案

解决Pandas append方法弃用警告问题

原代码及错误提示

原代码:

sampled_df = pd.DataFrame(columns=df_concat.columns)

for Stratacluster, sample_size in res.items():
    Stratacluster_data = df_concat[df_concat['Strata Cluster'] == Stratacluster]
    sample = Stratacluster_data.sample(n=sample_size, random_state=42)
    sampled_df = sampled_df.append(sample)

错误提示:

FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.

修改方案

改用pd.concat替代循环append的方式,先把所有采样结果收集到列表,再一次性合并,代码如下:

# 创建列表存储各集群的采样结果
sample_list = []

for stratacluster, sample_size in res.items():
    stratacluster_data = df_concat[df_concat['Strata Cluster'] == stratacluster]
    sample = stratacluster_data.sample(n=sample_size, random_state=42)
    sample_list.append(sample)

# 一次性合并所有采样数据
sampled_df = pd.concat(sample_list, ignore_index=True)

说明

  • 避免循环中反复调用append(每次调用都会生成新的DataFrame,效率低且触发弃用警告)
  • ignore_index=True会重置合并后的DataFrame索引,避免原索引重复或混乱的问题
  • 这是Pandas官方推荐的替代方案,完全适配新版本API要求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 22:47:18