繁体   English   中英

满足条件的数据框分组和计数值

[英]Dataframe groupby and count value satisfying conditions

这是我手头的数据框:

df = pd.DataFrame({
    'id': [1,1,1,2,2,3,3],
    'length': [20, 20, 20, 4, 4, 15,15],
    'speed': [17.2,16.5,18, 2.3,2.1,10,9.8]
})

df
    id  length  speed
0   1    20     17.2
1   1    20     16.5
2   1    20     18.0
3   2     4     2.3
4   2     4     2.1
5   3    15     10.0
6   3    15     9.8

我想计算length小于 5 的唯一id

df[df['length']<5].groupby('id')['length'].value_counts()
id  length
2   4         2
Name: length, dtype: int64

如何简单地获得长度低于 5 的总 ID? 就像是:

df[where df.length<5]
1

只需在过滤器后使用nunique

df[df.length < 5].id.nunique()
# 1

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM