有条件的groupby熊猫

omdurg

我有一个数据框:

df = pd.DataFrame({'dates':['2015-01-01','2015-01-02','2015-01-03','2015-01-03','2015-01- 02','2015-01-02','2015-01-01'],'myvals':[1,2,3,3,4,4,3]})

我想和group by一起算:df.groupby('dates')['myval'].transform('nunique')

但是我只想在有条件的情况下执行nunique myval=3

所需输出:

dates        myvals
2015-01-01   1
2015-01-02   0
2015-01-03   2
2015-01-03   2
2015-01-02   0
2015-01-02   0
2015-01-01   1

在这种情况下,如何修改代码。

谢谢!!

斯科特·波士顿

采用:

df['myvals'] = (df['myvals'] == 3).groupby(df['dates']).transform('sum')

输出:

        dates  myvals
0  2015-01-01     1.0
1  2015-01-02     0.0
2  2015-01-03     2.0
3  2015-01-03     2.0
4  2015-01-02     0.0
5  2015-01-02     0.0
6  2015-01-01     1.0

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章