0
比方说,我有下面的用户数据停留在一个酒店:串联在大熊猫
end start uid
0 2014-01-02 00:00:00 2014-01-01 00:00:00 1
1 2014-01-04 00:00:00 2014-01-02 00:00:00 1
2 2014-02-02 00:00:00 2014-02-01 00:00:00 1
3 2014-01-02 00:00:00 2014-01-01 00:00:00 3
而且我想串联,通过同一用户的1天或更少(不同的连续住宿),从而有效地创建以下数据帧:
end start uid
0 2014-01-04 00:00:00 2014-01-01 00:00:00 1
2 2014-02-02 00:00:00 2014-02-01 00:00:00 1
3 2014-01-02 00:00:00 2014-01-01 00:00:00 3
第一步骤将是groupby("uid")
。但是,如何遍历每个组的行,以便我可以使用pandas工具箱进行连接?
为方便起见,这里是数据帧的最小初始化:
import pandas as pd
from datetime import datetime
data = pd.DataFrame([{"uid":1,"start":datetime(year=2014,month=1,day=1),"end":datetime(year=2014,month=1,day=2)},{"uid":1,"start":datetime(year=2014,month=1,day=2),"end":datetime(year=2014,month=1,day=4)},{"uid":1,"start":datetime(year=2014,month=2,day=1),"end":datetime(year=2014,month=2,day=2)},{"uid":3,"start":datetime(year=2014,month=1,day=1),"end":datetime(year=2014,month=1,day=2)}])