python - 如何根据以列表为值的列过滤 Pandas 数据框中的行?
问题描述
我有一个 Pandas 数据框,其中一列存储字符串文字列表。例如,我的数据如下所示。
field1, field2
x1, ['tag1', 'tag2']
x2, ['tag1', 'tag3']
我只想获取此数据field2
框中列表包含tag1
or的记录tag2
。所以,在上面的例子中,只有field1=x1
应该返回的记录。
如何对 Pandas 数据框进行此过滤?
解决方案
您需要tag2
在列表中检查field2
。使用.apply(),您可以实现这一点。
df[df.apply(lambda x: 'tag2' in x['field2'],axis=1)]
输出:
field1 field2
0 x1 [tag1, tag2]
推荐阅读
- rest - REST API 的“--generate-cli-skeleton”等设计模式的名称是什么?
- scala - 转置具有多列的数据框
- f# - 为什么通过 string 或 ToString() 将 F# 可区分联合转换为字符串这么慢?
- excel - 从一个工作簿粘贴到另一个工作簿时出现 1004 错误
- vue.js - 如何将 v-rating 设置为固定在 vuetify 上?
- python - requests.get 和消息中的 Flask 语法无效
- c++ - c++ CLI Export void return __declspec(dllexport) 不能应用于具有 __clrcall 调用约定的函数
- apache-spark - log4j 集群模式的日志在哪里写?
- excel - 我如何修复 Lmonth 循环
- ios - 为标签栏中的更多按钮设置图像