You need to enable JavaScript to run this app. pandas DataFrame互斥规则分组:求解最小分组数与最大同组集合
优惠活动
大模型
产品
解决方案
定价
更多

pandas DataFrame互斥规则分组:求解最小分组数与最大同组集合

基于pandas互斥规则的球队分组实现

核心规则与目标

  • 互斥判定逻辑:若两支球队在数据框的交叉单元格取值为1,说明二者存在共享球员的互斥约束,无法归入同一分组;取值为np.nan时无互斥限制,可同组开展活动。
  • 核心实现目标:
    • 构造尽可能大的合规同组球队集合
    • 计算满足全部互斥约束所需的最少分组数量
  • 适用场景:针对共50支球队的业务数据,通过分组结果明确哪些球队可在同一时段共同参与活动,输出最优可落地的分组方案。当前提供5支球队的简化示例用于逻辑演示。

示例参考

简化示例数据生成代码:
pd.DataFrame.from_dict(data={'team1': [np.nan,1.0,1.0,np.nan,np.nan], 'team2':[1.0,np.nan,np.nan,np.nan,np.nan], 'team3':[1.0,np.nan,np.nan,np.nan,1.0], 'team4':[np.nan,np.nan,np.nan,np.nan,np.nan], 'team5':[np.nan,np.nan,1.0,np.nan,np.nan]}, orient='index', columns=['team1', 'team2', 'team3', 'team4', 'team5'])
上述示例数据的行、列维度均为球队标识,完全匹配互斥标记规则。针对该简化场景的校验结果如下:

  • 满足所有约束的最少分组数为2
  • 一种规模最优的可行合规分组方案:
    • group1 = ['team1', 'team4', 'team5']
    • group2 = ['team2', 'team3']

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.31 08:45:04