pandas groupby count然后是条件均值

问题描述 投票:1回答:1

我有一个像这样的数据框:

    col1 col2
0    a   100
1    a   200
2    a   150
3    b   1000
4    c   400
5    c   200

我想做的是按col1分组并计算出现的次数,如果count等于或大于2,则计算这些行的col2平均值,如果不返回null。输出应为:

    col1 mean
0    a   150
1    b   
2    c   300
python pandas pandas-groupby
1个回答
0
投票

自定义agg功能

df.groupby('col1').agg(lambda d: np.nan if len(d) == 1 else d.mean())

       col2
col1       
a     150.0
b       NaN
c     300.0
© www.soinside.com 2019 - 2024. All rights reserved.