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

如何从Pandas数据框中抽取与已有样本无重叠的新样本?

从原Pandas数据框抽取与已有样本无重叠的1000条观测值

核心思路是先排除已经抽过的200条数据,再从剩余部分随机抽样。具体步骤如下:

方法一:利用索引筛选(适用于索引唯一的情况)

如果原数据框data的索引是每条观测的唯一标识,直接通过索引排除已抽样部分:

  1. 获取已抽取的200条数据的索引:
    sampled_indices = sample_data.index
    
  2. 从原数据中筛选出不在上述索引范围内的剩余数据:
    remaining_data = data[~data.index.isin(sampled_indices)]
    
  3. 从剩余数据中随机抽取1000条:
    new_sample = remaining_data.sample(n=1000)
    

方法二:利用唯一ID列筛选(适用于索引不唯一的情况)

如果原数据的索引存在重复,可借助数据内的唯一标识列(比如user_id、record_id这类字段)来区分:

  1. 提取已抽样数据里的唯一ID值:
    sampled_ids = sample_data['唯一ID列名'].unique()
    
  2. 筛选出原数据中不包含这些ID的剩余数据:
    remaining_data = data[~data['唯一ID列名'].isin(sampled_ids)]
    
  3. 最后从剩余数据中抽取1000条:
    new_sample = remaining_data.sample(n=1000)
    

通过以上方法就能保证新抽取的1000条观测值和之前的200条完全无重叠。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 07:20:27