【发布时间】:2017-04-11 11:48:41
【问题描述】:
我有一个如下所示的数据框“df”:
id date1 date2
1 11/1/2016 11/1/2016
1 11/1/2016 11/2/2016
1 11/1/2016 11/1/2016
1 11/1/2016 11/2/2016
1 11/2/2016 11/2/2016
2 11/1/2016 11/1/2016
2 11/1/2016 11/2/2016
2 11/1/2016 11/1/2016
2 11/2/2016 11/2/2016
2 11/2/2016 11/2/2016
我想做的是按 id 分组,然后获取每个 id 的大小,其中 date1=date2。结果应如下所示:
id samedate count
1 11/1/2016 2
1 11/2/2016 1
2 11/1/2016 2
2 11/2/2016 2
我试过这个:
gb=df.groupby(id').apply(lambda x: x[x.date1== x.date2]['date1'].size())
并得到这个错误:
TypeError: 'int' object is not callable
您当然可以标记 date1 和 date2 相等的每个实例,然后按每个相同日期计算每个 id 的标记,但我必须相信有一个 groupby 选项。
【问题讨论】: