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

SPSS技术问询:根据字符串中特定单词创建新数值输出变量

嘿,这个需求用pandas就能轻松实现,给你几种实用的解决方案,按需选就行:

方法1:最简洁的str.contains()转数值

这是处理这类字符串匹配问题最直接的方式,先通过str.contains()生成布尔值(存在"painter"返回True,否则False),再用astype(int)把布尔值转换成0和1:

import pandas as pd

# 假设你的数据集存储在DataFrame df中
df['is_painter'] = df['Info'].str.contains('painter').astype(int)

方法2:用np.where()明确指定赋值

如果你想更清晰地定义条件满足/不满足时的返回值,可以用numpy的where函数:

import pandas as pd
import numpy as np

df['is_painter'] = np.where(df['Info'].str.contains('painter'), 1, 0)

方法3:自定义函数(适合后续扩展逻辑)

如果之后需要给判断逻辑加更多规则(比如同时匹配其他关键词),自定义函数结合apply()的方式可读性更强:

import pandas as pd

def check_painter(text):
    return 1 if 'painter' in text else 0

df['is_painter'] = df['Info'].apply(check_painter)

额外提示:处理大小写问题

如果你的Info列里存在大小写混合的情况(比如"Painter"),可以给str.contains()加上case=False参数来忽略大小写:

df['is_painter'] = df['Info'].str.contains('painter', case=False).astype(int)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 07:28:06