3条回答 默认 最新
关注 可以用 DataFrame 的 group 分组,然后对组内的元素查找最大和第二大的日期。
完整代码如下:from pandas import Series,DataFrame from datetime import datetime import pandas as pd import numpy as np df = pd.DataFrame( {'Serialsnumber': 'BR85278403 BR85278403 BR85278403 BR85278403 BR85279403 BR85279403 BR85279403 BH58960 BH58960 BH539411 BH539411'.split(), 'Receive Date': ['2018-04-03', '2018-10-26', '2019-03-21','2019-07-22', '2017-09-23', '2017-12-14','2018-10-09', '2017-11-02', '2018-04-23','2017-09-09', '2018-05-11',], 'QTY': [1, 1, 1, 1, 1, 1, 1 ,1, 1, 1 ,1]}) print df g = df.groupby('Serialsnumber') for name ,group in g: #get max Date maxDate = group['Receive Date'].max() #去掉最大值后得到一个 list ,取这 list 的 max 就是第二大日期了 list = [] for temp in group['Receive Date']: if temp != maxDate : list.append(temp) #find the second max Date secondDate = max(list) #datediff datediff = datetime.strptime(maxDate,'%Y-%m-%d')-datetime.strptime(secondDate,'%Y-%m-%d') print name,'maxDate is',maxDate,'secondDate',secondDate,'diffDay',datediff
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥20 三爪夹具,在重物的影响下,三爪受力怎么分析?能把三个爪当成螺栓吗?
- ¥15 vs2022无法联网
- ¥15 TCP的客户端和服务器的互联
- ¥15 VB.NET操作免驱摄像头
- ¥15 笔记本上移动热点开关状态查询
- ¥85 类鸟群Boids——仿真鸟群避障的相关问题
- ¥15 CFEDEM自带算例错误,如何解决?
- ¥15 有没有会使用flac3d软件的家人
- ¥20 360摄像头无法解绑使用,请教解绑当前账号绑定问题,
- ¥15 docker实践项目