首页 > 解决方案 > 如何通过python pandas删除数据框中的重复数据记录

问题描述

具有重复数据记录的数据框

[嗨亲爱的,我是一个学习python和pandas的菜鸟。我想用 Python 和 Pandas 删除我的数据框中的重复数据记录,其中包含重复数据。在数据框中,我有两列“代码”和“数字”。有几个重复的行具有相同的“代码”值,每行对应一个数字。我只希望保留一个代码并保存最大的相应数字。例如:“a”具有三个值:7、5 和 4。我希望它只保留 7 并删除其余值,其他代码也一样。有人会帮忙吗?非常感谢]

标签: pythonpandasdataframeduplicates

解决方案


创建数据框作为示例:

import pandas as pd

df = pd.DataFrame({
    "code": pd.Series(["a", "a", "a", "b", "b"]),
    "number": pd.Series([1,7,3,8,4])
})

df
code    number
0   a   1
2   a   7
1   a   3
4   b   8
3   b   4

对数据框进行排序,使代码具有顺序,然后以递增方式对数字进行排序:

df_sorted = df.sort_values(by=["code","number"])

df_sorted
code    number
0   a   1
2   a   3
1   a   7
4   b   4
3   b   8

重复删除codes,但保留code最大的number

df_unique = df_sorted.drop_duplicates(subset="code", inplace=False, keep="last")

df_unique
code    number
1   a   7
3   b   8

推荐阅读