gpt4 book ai didi

python - 有没有办法在 Pandas 中删除具有特定条件的重复行?

转载 作者:行者123 更新时间:2023-12-01 23:10:14 25 4
gpt4 key购买 nike

我有一个数据框(df),其中包含一些重叠的时间行。我想删除持续时间较长的行,保留同一 ID 中持续时间较短的行。 (减少重叠)

    starttime                  endtime                      ID      Diff

1/7/2020 2:32:15 PM 1/7/2020 2:32:16 PM A 1 sec
1/8/2020 2:33:20 PM 1/8/2020 2:33:22 PM B 2 sec
1/9/2020 5:35:00 AM 1/9/2020 5:35:25 AM C 25 sec
1/9/2020 5:35:05 AM 1/9/2020 5:35:25 AM C 20 sec

我想要以下结果:

    starttime                  endtime                      ID      Diff

1/7/2020 2:32:15 PM 1/7/2020 2:32:16 PM A 1 sec
1/8/2020 2:33:20 PM 1/8/2020 2:33:22 PM B 2 sec
1/9/2020 5:35:05 AM 1/9/2020 5:35:25 AM C 20 sec

请注意,C 组的第一行已被删除,因为持续时间比 C 组的第一行长。

这是我的代码:

        import numpy as np
import pandas as pd

subset = df[df['diff'] >= )
df.drop(subset, inplace = True)

我的困境是我不知道如何正确编写正确的代码来删除持续时间较长的行。 (保留持续时间较短的行)我对此进行了研究并提出了上面的代码。任何帮助表示赞赏。

最佳答案

使用sort_values,然后使用drop_duplicates:

df.sort_values(['ID', 'Diff']).drop_duplicates(subset=['ID'])

输出:

             starttime              endtime ID  Diff
0 1/7/2020 2:32:15 PM 1/7/2020 2:32:16 PM A 1
1 1/8/2020 2:33:20 PM 1/8/2020 2:33:22 PM B 2
3 1/9/2020 5:35:05 AM 1/9/2020 5:35:25 AM C 20

关于python - 有没有办法在 Pandas 中删除具有特定条件的重复行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59834104/

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