python - 根据条件消除数据框中的行
问题描述
我有一个包含 3 列的数据框。我想根据列表中提供的影响第 2 列信息的条件消除行。
例如:
filter = ['rainy', 'sunny']
col.1 col.2 col.3
1 rainy 100
2 cloudy 50
3 sunny 30
4 cloudy 40
5 windy 20
我想消除列表中包含单词的行,称为过滤器,我该怎么办?
谢谢!
解决方案
这是一种方法:
方法一:
newdf = df.query("col.2 not in @rainy").reset_index(drop=True)
方法二:
newdf = df[~df["col.2"].isin(rainy)].reset_index(drop=True)
推荐阅读
- c# - 确定角度相似性的问题
- angular - 什么被认为是在 Angular 中构建可重用的自定义和动态过滤/排序的最佳实践 (^11)
- angular - 找不到 e2e tsconfig 类型:错误 TS2304:找不到名称“浏览器”
- python - 我可以将字符串与 Python 3 中的列表进行比较吗?
- sql - 如何从选择查询中的表中获取两个不同的计数
- postgresql - 使用 JSDBC 从视图触发器中检索 Postgresql autoinc 值
- r - 根据条件(互斥类别)将不同的虚拟变量组合成一个分类变量?
- linux - 使用 sed 仅从引号字符中删除反斜杠
- flutter - Flutter,如何截取全屏
- nginx - 有时 502 Bad Gateway ,有时 504 网关超时,有时网站加载成功