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

解决Pandas DataFrame中text列为字符串列表时的行筛选问题

解决方案

问题出在str.contains仅对字符串类型的列生效,而你的text列元素是字符串列表,所以该方法无法正确识别列表中的内容。

1. 创建仅包含text列含"Joe"的行的DataFrame

使用apply结合lambda函数遍历每个列表,判断"Joe"是否存在:

df_joe = df[df['text'].apply(lambda lst: "Joe" in lst)]

2. 删除text列含"Joe"的行,得到剩余数据

在上述判断前加取反符号~即可:

df_no_joe = df[~df['text'].apply(lambda lst: "Joe" in lst)]

处理可能的缺失值(可选)

如果text列存在非列表类型(比如NaN),可以增加类型判断避免报错:

# 筛选含"Joe"的行
df_joe = df[df['text'].apply(lambda x: isinstance(x, list) and "Joe" in x)]
# 删除含"Joe"的行
df_no_joe = df[~df['text'].apply(lambda x: isinstance(x, list) and "Joe" in x)]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 20:27:02