gpt4 book ai didi

python - 使用 pandas 和 Python 删除重复项

转载 作者:行者123 更新时间:2023-11-28 19:07:10 25 4
gpt4 key购买 nike

我想根据我的第一列删除重复项,让我们假设这是“id”。我需要删除的值是数据最不完整的记录。

例如,我有 4 条记录,如下面的屏幕截图所示 enter image description here

我想根据我的列 ID 删除重复项。我想删除的重复项取决于我其他列中的值。例如 lname 不能是数字。它不能是 NA 或空白。所以对于这个例子,我想保留中间一行并删除所有其他重复项。

我如何实现一个智能过滤器,通过保留看起来最干净的记录(基于其他字段中有更干净的值)来删除重复项。

我正在研究 python 中的 Pandas 库。任何方向将不胜感激。

data = pd.read_csv('x.csv');
data = (data.drop_duplicates(['id'], keep ='last'));

最佳答案

您可以使用 grouped.apply,文档将其称为“灵活应用”,您可以在其中传递一个应用函数,该函数接受一个组,但在该函数中,该组将被视为一个实际的 DataFrame。因此,您过滤不需要的行并从该函数返回单个 DataFrame。 Pandas 将智能地组合这些调用产生的所有数据帧。请参阅文档 http://pandas.pydata.org/pandas-docs/stable/groupby.html

例子::

def select(g):
g = g.ix[g.IName.isnull(), :]
return g

df = df.groupby('id').apply(select)

关于python - 使用 pandas 和 Python 删除重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45655080/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com