使用pandas在数据框中只保留一条具有给定ID的记录

时间:2013-04-26 19:01:00

标签: python pandas

我正在使用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

1 个答案:

答案 0 :(得分:1)

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

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