当前位置: 首页 > 面试题库 >

从数据框中删除反向重复项

邹晟睿
2023-03-14
问题内容

我有一个包含两列的数据框,A并且B。在这种情况下,A和的顺序B并不重要;例如,我会考虑(0,50)并将(50,0)其重复。在熊猫中,从数据框中删除这些重复项的有效方法是什么?

import pandas as pd

# Initial data frame.
data = pd.DataFrame({'A': [0, 10, 11, 21, 22, 35, 5, 50], 
                     'B': [50, 22, 35, 5, 10, 11, 21, 0]})
data
    A   B
0   0  50
1  10  22
2  11  35
3  21   5
4  22  10
5  35  11
6   5  21
7  50   0

# Desired output with "duplicates" removed. 
data2 = pd.DataFrame({'A': [0, 5, 10, 11], 
                      'B': [50, 21, 22, 35]})
data2
    A   B
0   0  50
1   5  21
2  10  22
3  11  35

理想情况下,输出将按column的值排序A


问题答案:

您可以在删除重复项之前对数据框的每一行进行排序:

data.apply(lambda r: sorted(r), axis = 1).drop_duplicates()

#   A    B
#0  0   50
#1  10  22
#2  11  35
#3  5   21

如果您希望按列对结果进行排序A

data.apply(lambda r: sorted(r), axis = 1).drop_duplicates().sort_values('A')

#   A    B
#0  0   50
#3  5   21
#1  10  22
#2  11  35


 类似资料:
  • 我有2个数据帧,和,有一个列(和其他非重要的)。 我想在中删除包含已在中的电子邮件的行。 我该怎么做?

  • 问题内容: 我在本地弄乱了pyspark 1.4中的数据帧,并且在使dropplicates方法起作用时遇到了问题。不断返回错误。我不太确定为什么这样做,因为我似乎遵循最新文档中的语法。似乎我缺少该功能的导入。 问题答案: 这不是导入问题。您只是调用了错误的对象。虽然类为,但应用后为纯Python ,列表不提供方法。您想要的是这样的:

  • 我想从熊猫数据框中完全删除重复的项目。例如,我有数据框: 我要做的是在列中查找唯一的值,并删除所有重复的项。。因此,最终产品将如下所示(注意已消失): 谢谢。

  • 问题内容: 有没有一种有效的方法使用python从此数据中删除重复的“ person_id”字段?在这种情况下,只需保持第一次出现。 应成为: 问题答案: 假设您的JSON是有效语法,并且您确实在请求帮助,因为您将需要执行以下操作 如果要始终保留第一次出现,则需要执行以下操作

  • 我有一个数据框 我只想保留唯一的索引,因为索引1是重复的,我想删除它的第二个实例,我该怎么做?我想要我的结果

  • 问题内容: 我有一个像这样的json数据: 从中,我必须使用删除一个重复的条目,与情况相同, 结果如下: 怎么可能 问题答案: