我有这两个初始表:
表格1:
| 客户ID|开始时间|结束时间|面积|
| - ------| - ------| - ------| - ------|
| 1个|2022年12月1日下午4:00:00| 2022年12月1日下午4:05:00|美国广播公司|
| 第二章|2022年12月1日下午4:02:00| 2022年12月1日下午4:03:00|美国广播公司|
表二:
| 面积|开始时间|结束时间|
| - ------| - ------| - ------|
| 美国广播公司|2022年12月1日下午4:01:26| 2022年12月1日下午4:02:00|
| 美国广播公司|2022年12月1日下午4:02:05| 2022年12月1日下午4:02:55|
| 美国广播公司|2022年12月1日下午4:04:10| 2022年12月1日下午4:05:00|
我需要用这个来结束:
表三:
| 客户ID|开始时间|结束时间|面积|记录数量|
| - ------| - ------| - ------| - ------| - ------|
| 1个|2022年12月1日下午4:00:00| 2022年12月1日下午4:05:00|美国广播公司|三个|
| 第二章|2022年12月1日下午4:02:00| 2022年12月1日下午4:03:00|美国广播公司|1个|
将需要一种有效的方法来合并表,因为行的数量是巨大的。
使用表1中的StartTime、EndTime和Area来确定表2中这些条件的记录数。然后添加一列来显示此记录数。
我试过左连接表,但花费的时间太长。
2条答案
按热度按时间8fsztsew1#
这可能不是最有效的方法,但却是实现目标的可能方法之一。
我定义了一个函数来计算记录数
#ofRecords
,并使用了apply()
,如下所示:x0fgdtte2#
假设第一个表加载到df1中,第二个表加载到df2中,并且StartDate和EndDate是datetime类型,您可以执行以下操作: