【问题标题】:Cannot perform 'rand_' with a dtyped [float64] array and scalar of type [bool]无法使用 dtyped [float64] 数组和 [bool] 类型的标量执行“rand_”
【发布时间】:2021-12-01 21:03:53
【问题描述】:

我正在尝试使用多个条件过滤 pandas 中的数据框,但我不断收到相同的错误: 无法使用 dtyped [float64] 数组和 [bool] 类型的标量执行“rand_”

我尝试了几种解决方案,例如更改运算符(或/和而不是|/&);我已经检查了括号...

代码:

df= pd.DataFrame(df)

filtered = (((df['a'] == 'str1') |
           (df['a'] == 'str2') | 
           (df['a'] == 'str3') | 
           (df['a'] == 'str4')) & 
           (df['b'] >= 13))

df= df[filtered]

【问题讨论】:

    标签: python pandas pyspark filter


    【解决方案1】:

    如果没有关于数据框的更多信息,很难准确地说出什么不起作用。

    试试.query() 方法。

    df.query(
      "a in ('str1', 'str2', 'str3', 'str4')").query(
      "b >= 13")
    

    【讨论】:

      猜你喜欢
      • 2020-06-24
      • 1970-01-01
      • 2021-05-24
      • 2020-03-02
      • 2016-11-10
      • 2013-12-18
      • 1970-01-01
      • 1970-01-01
      • 2016-01-29
      相关资源
      最近更新 更多