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

如何将DataFrame的player_traits列按'Injury Prone'转换为0/1值?

解决方法:将DataFrame的player_traits列转换为二值标记

根据需求,可通过以下几种方式实现,适配不同的数据格式场景:

场景1:player_traits列是字符串格式(特质用分隔符拼接)

直接使用pandas的字符串方法检测目标特质,再转换为整数:

import pandas as pd

# 基础实现(若存在空值会生成NaN)
df['player_traits'] = df['player_traits'].str.contains('Injury Prone').astype(int)

# 优化:处理空值,将空单元格直接判定为0
df['player_traits'] = df['player_traits'].str.contains('Injury Prone', na=False).astype(int)

说明:str.contains()会返回布尔值(包含则为True,否则为False),astype(int)将True转为1,False转为0;na=False参数把空值直接视为不包含目标特质,避免出现NaN。

场景2:player_traits列是列表格式(每个单元格是特质列表)

如果单元格存储的是Python列表,使用apply结合lambda表达式判断:

df['player_traits'] = df['player_traits'].apply(lambda x: 1 if 'Injury Prone' in x else 0)

说明:lambda函数遍历每个单元格的列表,检查是否包含目标特质,返回对应的1或0。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 08:45:39