Pandas len 根据给定条件
Posted
技术标签:
【中文标题】Pandas len 根据给定条件【英文标题】:Pandas len according to the given condition 【发布时间】: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()。
【问题讨论】:
【参考方案1】:您的错误来自错误地使用具有多个条件的过滤器, 所以你可以使用:
len(data[ (10 < data['TAHSILAT_DEGISIM_DEGER']) & (data['TAHSILAT_DEGISIM_DEGER']<= 100]) )
【讨论】:
【参考方案2】:使用Series.between
和sum
仅计数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以上是关于Pandas len 根据给定条件的主要内容,如果未能解决你的问题,请参考以下文章
如何根据计数器应用多个条件,并使用 pandas 和 python 在 excel 中为每个条件提供输出?