我使用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 pddf = pd.DataFrame({'risk':['Small','High','Medium','Negligible','Very High']})dfOut[5]: risk0 Small1 High2 Medium3 Negligible4 Very High[5 rows x 1 columns]In [6]:df[df.risk.isin(['Small','High'])]Out[6]: risk0 Small1 High2 Medium[3 rows x 1 columns]
总结 以上是内存溢出为你收集整理的python – Pandas根据多个条件过滤行全部内容,希望文章能够帮你解决python – Pandas根据多个条件过滤行所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)