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

如何在Pandas DataFrame中筛选含指定值的数组列?能否不新建列?

无需新建列过滤Pandas数组列的方法

当然可以直接过滤,不需要新建中间列,下面是具体实现方式:

首先构造你的示例DataFrame:

import pandas as pd

df = pd.DataFrame({
    'userID': [25, 188, 79],
    'goalsID': [[1,2,4,5], [3,6], [1,9]]
})

直接过滤的核心代码

利用apply生成布尔掩码,直接对原DataFrame进行索引:

filtered_df = df[df['goalsID'].apply(lambda x: 3 in x)]

结果验证

运行上述代码后,filtered_df的输出为:

userID goalsID
1     188  [3, 6]

这个方法直接在goalsID列上做存在性判断,生成的布尔序列直接用于筛选原数据,全程不需要创建额外的列,完全满足你的需求。

内容的提问来源于stack exchange,提问作者Stepan P.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 04:42:07