zoukankan      html  css  js  c++  java
  • Pandas如何将两个Series对象进行与运算

    1、目的

    获取高温小于30,低温大于20的行数据

    2、分析

    df['最高温度']<30返回的是一列Series对象,内容为bool类型,此时原DataFrame df[bool类型]就会获取高温小于30的数据

    3、实现

    df1 = df[(df['最低温度']>20) & (df['最高温度']<30)]
    

    4、错误案例

    4.1 pandas中不能使用and作为与运算符

    df1 = df[(df['最低温度']>20) and (df['最高温度']<30)]
    

    报错:
    ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().

    4.2 运算顺序

    &的优先级高于<,不加括号会导致报错

    df1 = df[df['最低温度']>20 & df['最高温度']<30]
    

    报错:
    TypeError: Cannot perform 'rand_' with a dtyped [float64] array and scalar of type [bool]

  • 相关阅读:
    每日日报46
    每日日报45
    每日日报44
    每日日报43
    每日日报42
    每日日报41
    每日日报40
    每日日报之一周总结
    每日日报
    每日日报
  • 原文地址:https://www.cnblogs.com/Wendy-r/p/14940873.html
Copyright © 2011-2022 走看看