加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – Pandas根据多个条件过滤行

发布时间:2020-12-16 23:54:24 所属栏目:Python 来源:网络整理
导读:我使用pandas 0.13.1 Python 2.7: 我在风险列中有一些既不是小,中,高的值.我想删除值不是小,中和高的行.我尝试了以下方法: df = df[(df.risk == "Small") | (df.risk == "Medium") | (df.risk == "High")] 但是这会返回一个空数据框.我该如何正确过滤它们

我使用pandas 0.13.1 Python 2.7:

我在风险列中有一些既不是小,中,高的值.我想删除值不是小,中和高的行.我尝试了以下方法:

df = df[(df.risk == "Small") | (df.risk == "Medium") | (df.risk == "High")]

但是这会返回一个空数据框.我该如何正确过滤它们?

最佳答案
我想你想要:

df = df[(df.risk.isin(["Small","Medium","High"]))]

例:

In [5]:
import pandas as pd
df = pd.DataFrame({'risk':['Small','High','Medium','Negligible','Very High']})
df

Out[5]:

         risk
0       Small
1        High
2      Medium
3  Negligible
4   Very High

[5 rows x 1 columns]

In [6]:

df[df.risk.isin(['Small','High'])]

Out[6]:

     risk
0   Small
1    High
2  Medium

[3 rows x 1 columns]

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读