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

如何为每个类别生成所有唯一的物品配对列表?

输入表格

类别物品
A1
A3
A4
B1
B2
C4
C5

期望输出表格

类别物品1物品2
A13
A14
A34
B12
C45

解决方法

方法1:Excel/Power Query 实现

  1. 选中输入数据区域,点击「数据」选项卡 →「从表格/区域」,导入Power Query编辑器
  2. 点击「添加列」→「自定义列」,输入公式:=Table.SelectRows(源, (x) => x[类别] = [类别] and x[物品] > [物品]),这一步用来筛选当前类别中比当前物品数值大的所有物品,避免生成重复配对(比如1&3和3&1只留前者)
  3. 点击自定义列右侧的展开按钮,仅选择「物品」列,并重命名为「物品2」
  4. 保留「类别」「物品」「物品2」列,将「物品」重命名为「物品1」
  5. 点击「关闭并上载」,即可得到目标配对列表

方法2:Python 代码实现

用pandas库可以快速处理这类分组配对需求:

import pandas as pd

# 构建输入数据
df = pd.DataFrame({
    '类别': ['A', 'A', 'A', 'B', 'B', 'C', 'C'],
    '物品': [1, 3, 4, 1, 2, 4, 5]
})

# 生成每个类别内的唯一配对
result = []
for category in df['类别'].unique():
    items = df[df['类别'] == category]['物品'].tolist()
    # 遍历所有i<j的组合,确保配对唯一无重复
    for i in range(len(items)):
        for j in range(i + 1, len(items)):
            result.append({'类别': category, '物品1': items[i], '物品2': items[j]})

# 转换为结果表格
result_df = pd.DataFrame(result)
print(result_df)

运行代码后输出的result_df就是你需要的配对列表。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 03:05:48