我有一个数据框架,它有3列Replaced_ID
、New_ID
和Installation Date
{
每个新的\u ID将替换替换的\u ID
Replaced_ID New_ID Installation Date (of New_ID)
3 5 16/02/2018
5 7 17/05/2019
7 9 21/06/2019
9 11 23/08/2020
25 39 16/02/2017
39 41 16/08/2018
我的目标是获取一个数据帧,其中包括序列的第一个和最后一个记录。我只关心第一个替换的\u ID值和最后一个新的\u ID值
也就是说,从上面的数据框我想要这个
Replaced_ID New_ID Installation Date (of New_ID)
3 11 23/08/2020
25 41 16/08/2018
按日期排序和执行轮班并不是我所能想象的解决方案
此外,我还尝试将列New_ID
与Replaced_ID
连接起来,但情况并非如此,因为它只返回前面的序列
我需要找到一种方法来获取序列[3,5,7,9,11]
&[25,41]
结合{
我最关心的是获取第一个Replaced_ID
值和最后一个New_ID
值,而不是Installation Date
,因为我最终可以执行join
有什么想法吗?谢谢
假设日期已排序,则可以创建助手系列,然后创建groupby和aggregate:
助手系列} 的帮助下,我们返回整个系列的总和,以创建单独的组:
s
通过比较Replaced_ID
与下一个值New_ID
来帮助区分组,当它们不匹配时,它返回True。然后在^{首先,让我们创建数据帧:
现在让我来看看我的实际解决方案:
这将产生:
相关问题 更多 >
编程相关推荐