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

时间:2020-10-12 15:04:21

标签: python pandas dataframe

这是我手边的数据框:

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

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

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

1 个答案:

答案 0 :(得分:1)

只需在过滤器后使用nunique

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