如何在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。
