1

我正在使用pandas将两个 CSV 文件组合成一个由名为 ProjectID 的列索引的文件。完成此操作后,仍有许多重复记录。我只想保留最新的(它们的日期顺序从最少到最近)。我到目前为止的代码是:

merged_df = pandas.merge(df1, df2, on="ProjectID", how="left")

我遇到的问题是如何只保留有多个项目版本的最后一行。有什么内置的东西pandas可以帮助解决这个问题吗?

编辑添加示例数据

当前数据

ProjectID    Value    Date
1            54       9/21/2010
2            32       10/22/2010
2            32       10/28/2010
3            76       9/21/2010
4            37       9/21/2010
4            37       11/12/2010
4            38       11/14/2010

想要的数据

ProjectID    Value    Date
1            54       9/21/2010
2            32       10/28/2010
3            76       9/21/2010
4            38       11/14/2010
4

1 回答 1

1

drop_duplicates是 pandas 从数据框中删除重复项的功能。默认情况下,它保留第一个观察到的重复值,但您可以使用take_last=参数保留最后一个。

尝试:merged_df2 = merged_df.drop_duplicates('ProjectID', take_last=True)

于 2013-04-26T19:16:01.883 回答