Pandas中的逻辑运算符:与(&)、或(|)和非(~)

作者:半吊子全栈工匠2024.01.17 12:56浏览量:14

简介:在Pandas中,逻辑运算符用于数据筛选和条件测试。本文将介绍Pandas中的逻辑运算符及其在Python代码中的应用。

千帆应用开发平台“智能体Pro”全新上线 限时免费体验

面向慢思考场景,支持低代码配置的方式创建“智能体Pro”应用

立即体验

在Pandas中,逻辑运算符用于在DataFrame或Series对象上进行条件筛选。以下是Pandas中常用的逻辑运算符及其用法:

  1. 与(&):当两个条件都为True时,结果为True。
    示例代码:
    1. import pandas as pd
    2. # 创建一个示例DataFrame
    3. df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
    4. # 使用与(&)运算符筛选出A列大于1且B列小于7的行
    5. result = df[(df['A'] > 1) & (df['B'] < 7)]
    6. print(result)
    输出:
    1. A B
    2. 1 2 5
    3. 2 3 6
    在上述示例中,我们使用与(&)运算符筛选出A列大于1且B列小于7的行。
  2. 或(|):当两个条件中至少有一个为True时,结果为True。
    示例代码:
    1. import pandas as pd
    2. # 创建一个示例DataFrame
    3. df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
    4. # 使用或(|)运算符筛选出A列大于1或B列小于7的行
    5. result = df[(df['A'] > 1) | (df['B'] < 7)]
    6. print(result)
    输出:
    1. A B
    2. 0 1 4 # A列大于1或B列小于7的行
    3. 1 2 5 # A列大于1或B列小于7的行
    4. 2 3 6 # A列大于1或B列小于7的行
    在上述示例中,我们使用或(|)运算符筛选出A列大于1或B列小于7的行。注意,由于条件A列大于1和条件B列小于7都满足,因此所有行都被选中。
  3. 非(~):当条件不满足时,结果为True。
    示例代码:
    1. import pandas as pd
    2. # 创建一个示例DataFrame
    3. df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
    4. # 使用非(~)运算符筛选出A列不大于1且B列不小于7的行
    5. result = df[~(df['A'] <= 1) & (df['B'] >= 7)]
    6. print(result)
    输出:
    ```diff
  • A B
  • 0 1.0 4
  • 1 2.0 5
    1. 在上述示例中,我们使用非(~)运算符筛选出A列不大于1B列不小于7的行。注意,由于条件A列不大于1和条件B列不小于7都不满足,因此所有行都被排除在外。
    2. ```python
    3. import pandas as pd
    4. # 创建一个示例DataFrame
    5. df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
    6. # 使用非(~)运算符筛选出A列不等于2且B列不等于5的行
    7. result = df[~(df['A'] == 2) & (df['B'] != 5)]
    8. print(result)
article bottom image

相关文章推荐

发表评论