我有一个名为'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
您可以标记每个日期1和日期2相等的实例,然后按照每个samedate为每个id计算这些标记的数量,但我相信这里有一个分组选项。