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.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

以上是关于Pandas len 根据给定条件的主要内容,如果未能解决你的问题,请参考以下文章

Python:numpy/pandas 根据条件更改值

如何根据计数器应用多个条件,并使用 pandas 和 python 在 excel 中为每个条件提供输出?

Groupby并根据Pandas中的多个条件计算计数和均值

Pandas:如何根据特定列上特定值的条件选择数据框中的行[重复]

将 Pandas 数据框值保存在给定条件的字典中

高效的条件滚动计算 Pandas