【问题标题】:Pandas len according to the given conditionPandas len 根据给定条件
【发布时间】:2019-12-09 20:23:29
【问题描述】:

我有一列,我想找到 10 到 100 之间的长度(例如)

len(data[ 10 < data['TAHSILAT_DEGISIM_DEGER'] <= 100] )

错误是: Series 的真值是模棱两可的。使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()。

【问题讨论】:

    标签: python pandas conditional-statements


    【解决方案1】:

    您的错误来自错误地使用具有多个条件的过滤器, 所以你可以使用:

    len(data[ (10 < data['TAHSILAT_DEGISIM_DEGER']) & (data['TAHSILAT_DEGISIM_DEGER']<= 100]) )
    

    【讨论】:

      【解决方案2】:

      使用Series.betweensum 仅计数True 值:

      data['TAHSILAT_DEGISIM_DEGER'].between(10, 100, inclusive=False).sum()
      

      或者你的解决方案:

      len(data[data['TAHSILAT_DEGISIM_DEGER'].between(10, 100, inclusive=False)])
      

      【讨论】:

        【解决方案3】:

        使用系列数据类型docs of len() function的len()

        data[ 10 < data['TAHSILAT_DEGISIM_DEGER'].str.len() <= 100]
        

         data[(data['TAHSILAT_DEGISIM_DEGER'].str.len()) <= 100 & (data['TAHSILAT_DEGISIM_DEGER'].str.len())>10]
        

        【讨论】:

        • Error : Can only use .str accessor with string values, which use np.object_ dtype in pandas
        猜你喜欢
        • 1970-01-01
        • 2021-06-01
        • 1970-01-01
        • 1970-01-01
        • 2021-06-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-01-08
        相关资源
        最近更新 更多