pandas.DataFrame.drop_duplicates() 是 pandas 中常用的数据清洗方法,用于从 DataFrame 中删除重复行。
具体作用是去除 DataFrame 中重复的行,并返回去除后的新 DataFrame。同时,它还可以指定哪些列用于判断重复行,以及判断重复行时的行为。
使用方法:
pandas.DataFrame.drop_duplicates(subset=None, keep='first', inplace=False)
其中,参数说明:
- subset:可选参数,指定哪些列用于判断是否为重复行,默认是所有列
- keep:可选参数,指定重复行哪些要保留,默认是保留第一个出现的
- inplace:可选参数,是否直接对原 DataFrame 进行修改,默认是不修改,返回新的 DataFrame
下面提供两个实例:
实例1
对于以下的 DataFrame,我们想要去除重复的行:
import pandas as pd
df = pd.DataFrame({'A': [1, 2, 2, 3],
'B': ['apple', 'banana', 'cherry', 'cherry']})
print(df)
输出结果:
A B
0 1 apple
1 2 banana
2 2 cherry
3 3 cherry
我们可以使用 drop_duplicates() 方法去除重复行:
df2 = df.drop_duplicates()
print(df2)
输出结果:
A B
0 1 apple
1 2 banana
2 2 cherry
3 3 cherry
我们可以看到,第二行和第三行的 A 和 B 列均与第三行相同,所以第二行被删除了,其他行被保留。
实例2
对于以下的 DataFrame,我们想要去除重复的行,并指定只对 A 列判断是否为重复行:
import pandas as pd
df = pd.DataFrame({'A': [1, 2, 2, 3],
'B': ['apple', 'banana', 'cherry', 'cherry']})
print(df)
输出结果:
A B
0 1 apple
1 2 banana
2 2 cherry
3 3 cherry
我们可以使用 drop_duplicates() 方法去除重复行,并指定 subset 参数:
df2 = df.drop_duplicates(subset=['A'])
print(df2)
输出结果:
A B
0 1 apple
1 2 banana
3 3 cherry
我们可以看到,第二行和第三行的 A 列均为 2,所以第三行被删除了,其他行被保留。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解pandas.DataFrame.drop_duplicates()(删除重复行)函数使用方法 - Python技术站