这是一个非常具体的问题,但我有一个超过1GB的大型数据集。此数据的格式如下所示:
Name ID OP Date OP Hour Gen Heat
Jann 1 2001-01-01 1 10 0
Jann 1 2001-01-01 2 3 1
.
.
Jann 1 2001-01-01 24 13 3
Jann 2 2001-01-01 1 30 10
Jann 2 2001-01-01 3 32 11
.
.
Kay 1A 2002-01-01 1 0 12
Kay 1A 2002-01-01 2 2 22
.
.
.
.
.
Jann 1 2018-01-01 1 26 8
Jann 1 2018-01-01 2 32 21
有时Name
会在某个时间出现,而不是在数据集(2001-01-01)的开头,和/或有时Name
会在某个时间停止出现在数据集中
此外,有时会出现Name
,但只有该Name
中的某个ID
会消失
我想知道这个数据集中的某个Name
和ID
何时开始和结束
例如Jann ID 1
和Jann ID 2
都从OP Date 2001-01-01
开始,但是Jann ID 2
不会出现在OP Date 2018-01-01
中。而且,Kay ID 1A
从2002-01-01
开始,但在2018-01-01
之前的某个地方停止出现
我希望的输出类似于数据帧:
Name ID OP Start Date OP EndDate
Jann 1 2001-01-01 2018-01-01
Jann 2 2001-01-01 SOME OP DATE
Kay 1A 2002-01-01 SOME OP DATE
有没有一种方法可以轻松做到这一点
您可以尝试使用} (或者
groupby
和^{aggregate
,这是相同的函数)在first
和last
上为每个名称/ID组合应用OP Date
。这要求df按操作日期排序(因此使用sort_values
)相关问题 更多 >
编程相关推荐