前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python-科学计算-pandas-07-Df多条件筛选

Python-科学计算-pandas-07-Df多条件筛选

作者头像
zishendianxia
发布2020-03-13 10:08:18
4.5K0
发布2020-03-13 10:08:18
举报
文章被收录于专栏:Python工程师

系统:Windows 7 语言版本:Anaconda3-4.3.0.1-Windows-x86_64 编辑器:pycharm-community-2016.3.2 pandas:0.19.2

  • 这个系列讲讲Python的科学计算版块
  • 今天讲讲pandas模块:根据条件对Df进行筛选

Part 1:示例

  1. 已知df_1,有3列["value1", "value2", "value3"],
  2. 不同筛选条件下,获取新的df
    • 筛选条件1:value2列大于0.6,且,value3列小于5,获得df_2
    • 筛选条件2:value2列大于0.6,或,value3列小于5,获得df_3
    • 筛选条件3:value2列大于0.6,且,value1列取值P1或者 P2,获得df_4
    • 筛选条件4:value2列大于0.6,或,value1列取值P1或者 P2,获得df_5

df_1

df_2

df_3

df_4

df_5

Part 2:代码

代码语言:javascript
复制
import pandas as pd

dict_1 = {"value1": ["P1", "P2", "P3"],
          "value2": [0.5, 0.8, 1.0],
          "value3": [1, 5, 3]}

df_1 = pd.DataFrame(dict_1, columns=["value1", "value2", "value3"])
print(df_1)

print("\n两个条件同时满足")
df_2 = df_1[(df_1["value2"] > 0.6) & (df_1["value3"] < 5)]
print(df_2)

print("\n满足任一条件")
df_3 = df_1[(df_1["value2"] > 0.6) | (df_1["value3"] < 5)]
print(df_3)

print("\n两个条件同时满足")
list_1 = ["P1", "P2"]
df_4 = df_1[(df_1["value2"] > 0.6) & (df_1["value1"].isin(list_1))]
print(df_4)

print("\n满足任一条件")
list_1 = ["P1", "P2"]
df_5 = df_1[(df_1["value2"] > 0.6) | (df_1["value1"].isin(list_1))]
print(df_5)

代码截图

Part 3:部分代码解读

  1. df_2 = df_1[(df_1["value2"] > 0.6) & (df_1["value3"] < 5)],两个条件分别放置于()内,即df[(条件1) & (条件2)]
    • 逻辑,使用 &
    • 逻辑,使用 |
  2. 比较运算符直接使用>,<
  3. 在一定范围内使用isin,之前的文章有介绍过
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-03-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python工程师 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档