【发布时间】:2018-04-05 07:04:07
【问题描述】:
我想对数据集进行分组并返回最大和最小时间戳。这是我的数据
id timestamp
1 2017-09-17 10:09:01
2 2017-10-02 01:13:15
1 2017-09-17 10:53:07
1 2017-09-17 10:52:18
2 2017-09-12 21:59:40
这是我想要的输出
id max min
1 2017-09-17 10:53:07 2017-09-17 10:09:01
2 2017-10-02 01:13:15 2017-09-12 21:59:40
这就是我所做的,代码似乎效率不高,我希望在 pandas 上有更好的方法来做到这一点
data1 = df.sort_values('timestamp').drop_duplicates(['customer_id'], keep='last')
data2 = df.sort_values('timestamp').drop_duplicates(['customer_id'], keep='first')
data1['max'] = data1['timestamp']
data2['min'] = data2['timestamp']
data = data1.merge(data2, on = 'customer_id', how='left')
data = data.drop(['timestamp_x','timestamp_y'], axis=1)
熊猫似乎有这种枢轴
【问题讨论】: