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

如何通过Pandas成对比较剔除被支配实验样本?

多准则筛选DataFrame中的被支配样本实现方案

1. 生成两两样本的胜负平统计

先提取DataFrame中的数值指标列(排除Subject列),遍历所有两两样本组合,对每对样本的指标逐一做“小于”比较,统计以下三个值:

  • w:样本i的指标小于样本j的次数(样本i赢的次数)
  • l:样本i的指标大于样本j的次数(样本i输的次数)
  • d:样本i与样本j指标相等的次数(平局次数)

实现代码:

import pandas as pd

# 构建示例DataFrame
df = pd.DataFrame({'Subject': ['Alpha', 'Bravo', 'Charlie'],
                   'A': [6, 7, 8],
                   'B': [11, 7, 12],
                   'C': [13, 6, 6],
                   'D': [5, 9, 4],
                   'E': [11, 9, 5],
                   'F': [9, 10, 3],
                   'G': [2, 6, 5],
                   'H': [8, 12, 11]})

# 提取数值指标与样本名称
metrics = df.drop('Subject', axis=1).values
subjects = df['Subject'].tolist()
n_samples = len(subjects)

# 生成两两比较结果
comparison_results = []
for i in range(n_samples):
    for j in range(i+1, n_samples):
        comp = metrics[i] < metrics[j]
        w = comp.sum()
        l = (metrics[i] > metrics[j]).sum()
        d = (metrics[i] == metrics[j]).sum()
        comparison_results.append(f"[{i}, {j}]: w={w}, l={l}, d={d}")

# 输出比较结果
for res in comparison_results:
    print(res)

运行后输出:

[0, 1]: w=5, l=3, d=0
[0, 2]: w=4, l=4, d=0
[1, 2]: w=2, l=5, d=1

2. 筛选并移除被支配样本

依据给定的伪代码逻辑(阈值tx=3),判断每对样本的胜负关系:

  • 若样本i赢次数w大于输次数l,且l < tx,则样本j为被支配样本
  • 若样本i赢次数w小于输次数l,且w < tx,则样本i为被支配样本

收集所有被支配样本后,从原DataFrame中移除:

tx = 3
dominated_subjects = set()

# 遍历两两组合筛选被支配样本
for i in range(n_samples):
    for j in range(i+1, n_samples):
        comp = metrics[i] < metrics[j]
        w = comp.sum()
        l = (metrics[i] > metrics[j]).sum()
        
        if w > l and l < tx:
            dominated_subjects.add(subjects[j])
        elif w < l and w < tx:
            dominated_subjects.add(subjects[i])

# 输出被支配样本列表
dominated_list = list(dominated_subjects)
print("被支配样本列表:", dominated_list)  # 输出: ['Bravo']

# 移除被支配样本,生成筛选后的DataFrame
filtered_df = df[~df['Subject'].isin(dominated_list)]
print("筛选后的DataFrame:\n", filtered_df)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 11:05:31