我正在使用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
答案 0 :(得分:1)
drop_duplicates
是熊猫'转到从数据框中删除重复项的功能。默认情况下,它会保留第一个观察到的重复值,但您可以使用take_last=
参数来保留最后一个值。
尝试:merged_df2 = merged_df.drop_duplicates('ProjectID', take_last=True)