我有一个数据框,看起来像:
id TakingTime
1 03-01-2015
1 18-07-2015
1 22-10-2015
1 14-01-2016
2 11-02-2015
2 28-02-2015
2 18-04-2015
2 19-05-2015
3 11-02-2015
3 16-11-2015
3 19-02-2016
3 21-04-2016
4 03-01-2015
4 03-01-2015
4 03-01-2015
4 03-01-2015
所需的输出为:
id TakingTime
1 03-01-2015
1 18-07-2015
1 22-10-2015
1 14-01-2016
3 11-02-2015
3 16-11-2015
3 19-02-2016
3 21-04-2016
当我想删除所有id时,第一个和最后一个id之间的时间差至少为一年
我试过了
df[df.groupby('ID')['takingtime'].transform(lambda x: x.nunique() > 1)]
但我不确定这样做是否正确,如果是,那么> 5
的含义是什么?天,月,年
使用:
输出:
说明:
对于每个id,计算不同年份的差异。如果差异大于0(即
sum().astype(bool)
),则返回True
。我们使用transform
为整个组复制输出。最后,使用输出索引对数据帧进行切片编辑:
要分析特定的时间量(以天为单位):
或:
相关问题 更多 >
编程相关推荐