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

如何用Pandas过滤列中列表元素,仅保留含car的字符串

解决Pandas列表列的过滤问题

你的问题出在原来的lambda表达式上:'car' in x是判断整个列表x里是否存在等于'car'的元素,返回的是布尔值True/False,所以你的content列最后变成了一堆布尔值,自然没实现过滤效果。

要实现保留列表中包含'car'的元素,你需要遍历每个列表里的每个元素,判断每个元素是否包含'car',再把符合条件的元素重新组成列表。用列表推导式结合apply就能搞定:

output['content'] = output['content'].apply(lambda x: [item for item in x if 'car' in item])

举个实际例子:假设你的output数据框原来长这样:

content
['I drive a car', 'bike is cool', 'car repair']
['train station', 'electric car']

运行上面的代码后,content列会变成:

content
['I drive a car', 'car repair']
['electric car']

如果需要忽略大小写(比如同时匹配'Car'、'CAR'),可以改成:

output['content'] = output['content'].apply(lambda x: [item for item in x if 'car' in item.lower()])

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 20:12:00