关于重复值的问题

120 阅读1分钟

一、如何根据A,B两列去重

使用Pandas库来根据某两列去重。假设你有一个数据框df,你可以使用drop_duplicates方法来完成这个任务。以下是一个示例:

import pandas as pd

# 假设这是你的数据框
data = {
    'A': [1, 2, 2, 4],
    'B': [5, 5, 6, 7],
    'C': [8, 9, 10, 11]
}
df = pd.DataFrame(data)

# 根据列 'A' 和 'B' 去重
df_unique = df.drop_duplicates(subset=['A', 'B'])

print(df_unique)

这个代码会根据列AB的值来去重。如果某行在这两列的值与另一行相同,那么其中一行会被移除。df_unique将包含去重后的数据。

一、筛选出A,B两列重复的行

要筛选出DataFrame中在列['A', 'B']中重复的值,使用以下方法:

  1. 首先,使用duplicated方法找出在这两列中重复的行。
  2. 然后,筛选出这些重复的行。

以下是一个示例代码:

import pandas as pd

# 假设这是你的数据框
data = {
    'A': [1, 2, 2, 4, 2],
    'B': [5, 5, 6, 7, 6],
    'C': [8, 9, 10, 11, 12]
}
df = pd.DataFrame(data)

# 找出列 'A' 和 'B' 中重复的行(包括第一次出现的)
duplicates = df[df.duplicated(subset=['A', 'B'], keep=False)]

print(duplicates)

在这个例子中,df.duplicated(subset=['A', 'B'], keep=False)会标记所有在列AB中重复的行,包括第一次出现的那一行。然后我们通过布尔索引筛选出这些重复的行。