Pandas 数据帧drop_duplicates()方法

原文:https://www.studytonight.com/pandas/pandas-dataframe-drop_duplicates-method

在本教程中,我们将学习 PandasDataFrame.drop_duplicates() T3】法。它返回一个删除了重复行的数据帧。考虑某些列是可选的。包括时间索引在内的索引将被忽略。

下图显示了DataFrame.drop_duplicates()方法的语法。

句法

DataFrame.drop_duplicates(subset=None, keep='first', inplace=False, ignore_index=False)

因素

子集:列标签或标签序列,可选。仅考虑用于识别重复项的特定列,默认情况下使用所有列。

keep: {'first ',' last ',False},默认为' first '。确定要保留哪些副本(如果有)。- first:除去第一次出现的重复项。- last:除去最后一次出现的重复项。- False:删除所有重复项。

inplace: bool,默认 False。是就地删除副本还是返回副本。

ignore_index: bool,默认 False。如果为真,结果轴将被标记为 0,1,…,n - 1。

示例 1:使用 DataFrame.drop_duplicates()方法删除重复行

DataFrame.drop_duplicates()方法根据列删除重复的行。下面的例子显示了同样的情况。

import pandas as pd
df = pd.DataFrame({'Name': ['Navya','Vindya', 'Navya', 'Vindya','Sinchana','Sinchana'],'Skills': ['Python','Java','Python','Java','Java','Java']})
print(df)
print("-------After removing duplicate rows------")
print(df.drop_duplicates())

一旦我们运行该程序,我们将获得以下输出。

命名技能 0 纳芙雅 Python 1 Vindya Java 2 纳芙雅 Python 3 Vindya Java 4 Sinchana Java 5 Sinchana Java -删除重复行后- 命名技能 0 纳芙雅 Python 1 Vindya Java 4 Sinchana Java

示例 2:使用 DataFrame.drop_duplicates()方法删除重复行

DataFrame.drop_duplicates() 方法使用subset方法删除特定列上的重复行。下面的例子显示了同样的情况。

import pandas as pd
df = pd.DataFrame({'Name': ['Navya',  'Vindya','Navya','Vindya','Sinchana','Sinchana'],'Skills': ['Python', 'Java','Python','Java','Java','Java']})
print(df)
print("-------After removing duplicate rows------")
print(df.drop_duplicates(subset=['Skills']))

一旦我们运行该程序,我们将获得以下输出。

命名技能 0 纳芙雅 Python 1 Vindya Java 2 纳芙雅 Python 3 Vindya Java 4 Sinchana Java 5 Sinchana Java -删除重复行后- 命名技能 0 纳芙雅 Python 1 Vindya Java

示例 3:使用 DataFrame.drop_duplicates()方法删除重复行

DataFrame.drop_duplicates()方法通过保留last occurrences并使用keep方法删除重复行。下面的例子显示了同样的情况。

import pandas as pd
df = pd.DataFrame({'Name': ['Navya', 'Vindya','Navya','Vindya','Sinchana','Sinchana'],'Skills': ['Python','Java','Python','Java','Java','Java']})
print(df)
print("-------After removing duplicate rows------")
print(df.drop_duplicates(subset=['Name', 'Skills'], keep='last'))

一旦我们运行该程序,我们将获得以下输出。

命名技能 0 纳芙雅 Python 1 Vindya Java 2 纳芙雅 Python 3 Vindya Java 4 Sinchana Java 5 Sinchana Java -删除重复行后- 命名技能 2 纳芙雅 Python 3 Vindya Java 5 Sinchana Java

结论

在本教程中,我们将学习DataFrame.drop_duplicates()方法。我们学习了语法、参数,并通过在 DataFrame 上应用此方法解决了示例,并理解了该方法。