如何根据 Python Pandas 中 Data Frame 的 datetime 列中的值删除重复的客户端?

How to delete duplicated clients based on value in datetime column in Data Frame in Python Pandas?

我在 Python Pandas 中有 DataFrame,如下所示:

date_col   | ID  | Phone
-----------|-----|--------
2020-05-17 | 111 | Apple
2020-06-11 | 111 | Sony
2021-12-28 | 222 | Sony

如您所见,ID“111”重复,当 ID 重复时我需要这样做我需要从列“date_col”中获取最新日期的行(此列的格式为 datetime64 ). 因此,我需要类似下面的内容,因为 ID“111”重复但日期 2020-06-11 高于 2020-05-17:

date_col   | ID  | Phone
-----------|-----|--------
2020-06-11 | 111 | Sony
2021-12-28 | 222 | Sony

如何在 Python Pandas 中做到这一点?

尝试:

df = df.sort_values(by="date_col").drop_duplicates(subset="ID", keep="last")
print(df)

打印:

    date_col   ID Phone
1 2020-06-11  111  Sony
2 2021-12-28  222  Sony