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

基于游戏分类列创建新列:单/多人及两者并存的条件判断问题

解决电子游戏分类列的新列生成问题

你需要根据Categories列是否包含Single-player、Multi-player或两者都包含生成新列,原代码存在函数名不匹配、拼写错误,且缺少两者同时包含的判断逻辑,以下是修正并优化后的实现方案:

方案一:逐行判断(直观易懂)

def categorize_game(row):
    has_single = 'Single-player' in row['Categories']
    has_multi = 'Multi-player' in row['Categories']
    
    # 优先判断同时包含的情况
    if has_single and has_multi:
        return 'Both Single-player & Multi-player'
    elif has_single:
        return 'Single-player'
    elif has_multi:
        return 'Multi-player'
    else:
        return 'Other'  # 可根据需求自定义默认值

df['New_col'] = df.apply(categorize_game, axis=1)

方案二:向量化处理(大数据集更高效)

逐行apply效率较低,推荐用批量向量化操作提升性能:

import numpy as np

# 批量标记是否包含目标分类
df['has_single'] = df['Categories'].str.contains('Single-player', na=False)
df['has_multi'] = df['Categories'].str.contains('Multi-player', na=False)

# 多条件映射生成新列
conditions = [
    df['has_single'] & df['has_multi'],
    df['has_single'],
    df['has_multi']
]
choices = [
    'Both Single-player & Multi-player',
    'Single-player',
    'Multi-player'
]

df['New_col'] = np.select(conditions, choices, default='Other')

# 清理临时生成的布尔列
df.drop(['has_single', 'has_multi'], axis=1, inplace=True)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 18:36:23