Pandas删除和存储重复项



我使用pandas.DataFrame。Drop_duplicates在数据框中搜索重复项。这将从数据框架中删除重复项。这也很有效。但是,我想知道哪些数据被删除了。

是否有一种方法可以在删除数据之前将数据保存在新列表中?

遗憾的是,我在pandas的文档中没有发现这方面的信息。

谢谢你的回答。

使用duplicated函数过滤掉重复的信息。默认情况下,第一次出现设置为True,所有其他设置为False,使用此函数和原始数据的过滤器,您可以知道哪些数据保留,哪些数据删除。

https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.duplicated.html

您可以使用duplicated和布尔索引与groupby.agg保持重复列表:

m = df.duplicated('group')
dropped = df[m].groupby(df['group'])['value'].agg(list)
print(dropped)
df = df[~m]
print(df)

输出:

# print(dropped)
group
A       [2]
B    [4, 5]
C       [7]
Name: value, dtype: object
# print(df)
group  value
0     A      1
2     B      3
5     C      6

输入:使用

group  value
0     A      1
1     A      2
2     B      3
3     B      4
4     B      5
5     C      6
6     C      7

相关内容

  • 没有找到相关文章

最新更新