欢迎访问宙启技术站
智能推送

如何在DataFrame中删除重复的行

发布时间:2024-01-18 15:37:01

在DataFrame中删除重复的行可以使用DataFrame的drop_duplicates函数。drop_duplicates函数根据列的值来判断是否为重复行,默认情况下,保留 个出现的行。可以使用subset参数来指定需要考虑的列,使用keep参数来指定删除重复行时保留的行。

下面是一个例子,使用drop_duplicates函数删除DataFrame中的重复行:

import pandas as pd

# 创建一个DataFrame
data = {'Name': ['John', 'Peter', 'John', 'Sarah'],
        'Age': [21, 25, 21, 30],
        'City': ['New York', 'London', 'New York', 'Paris']}
df = pd.DataFrame(data)

# 打印原始DataFrame
print("Original DataFrame:")
print(df)

# 删除重复行
df = df.drop_duplicates()

# 打印删除重复行后的DataFrame
print("
DataFrame without duplicate rows:")
print(df)

输出结果为:

Original DataFrame:
    Name  Age      City
0   John   21  New York
1  Peter   25    London
2   John   21  New York
3  Sarah   30     Paris

DataFrame without duplicate rows:
    Name  Age      City
0   John   21  New York
1  Peter   25    London
3  Sarah   30     Paris

在这个例子中,原始的DataFrame有4行,其中前两行是重复行(根据Name和Age列判断)。当我们调用drop_duplicates函数时,它会删除这两行,并返回一个新的DataFrame。

默认情况下,drop_duplicates函数会根据所有的列判断是否为重复行。如果我们想根据特定的列来判断是否为重复行,可以使用subset参数来指定这些列。例如,如果我们只想根据Name列判断是否为重复行,可以这样使用drop_duplicates函数:

df = df.drop_duplicates(subset=['Name'])

在这个例子中,只有第2行是重复行,因为第4行的Name不会和之前的任何行重复。所以,当我们调用drop_duplicates函数时,它会删除第2行,并返回一个新的DataFrame。

除了subset参数,我们还可以使用keep参数来指定保留的行。keep参数有三个选项:'first'(保留 个出现的行,默认选项)、'last'(保留最后一个出现的行)、False(删除所有重复行)。例如,如果我们想删除所有重复行,可以这样使用drop_duplicates函数:

df = df.drop_duplicates(keep=False)

在这个例子中,我们调用drop_duplicates函数时,它会删除所有重复行,并返回一个新的DataFrame。