gpt4 book ai didi

python - 根据日期范围合并行

转载 作者:行者123 更新时间:2023-12-04 16:23:55 26 4
gpt4 key购买 nike

我有一个包含数百列和数千行的 pandas df。以下是我们感兴趣的 3 列:

<头>
ID 开始日期 endDate
123 2020-01-01 2020-01-25
123 2020-01-26 2020-02-08
123 2020-02-09 2020-03-12

我希望每一行都具有相同的 ID,如果日期彼此跟随,则合并行,并保持所有其他列不变。

对于我们的示例,输出将是单行,因为日期如下:

<头>
ID 开始日期 endDate
123 2020-01-01 2020-03-12

你知道如何用 pandas 做到这一点吗?

最佳答案

如果日期时间未排序或不确定,请使用 minmax 进行聚合:

df.groupby('ID', as_index=False).agg({'startDate': 'min', 'endDate': 'max'})

如果有很多其他列并且只需要聚合 2 列:

df['startDate'] = df.groupby('ID')['startDate'].transform('min')
df['endDate'] = df.groupby('ID')['endDate'].transform('max')

df = df.drop_duplicates('ID')

关于python - 根据日期范围合并行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69115428/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com