关键词

详解pandas.drop_duplicates()(删除重复值)函数使用方法

pandas.drop_duplicates()的作用

pandas.drop_duplicates()是pandas库中的一个函数,主要用于去除数据集中的重复行。这个函数可以从任何一个DataFrame或Series对象中删除具有重复值的行,并返回一个新的DataFrame或Series,其中不包含任何重复的值。

pandas.drop_duplicates()的使用方法

pandas.drop_duplicates()有几个参数,其中最重要的是subset和keep。

  • subset: 默认值为None,表示检查所有列是否有重复的行。如果指定了这个参数,那么函数将仅检查指定的列是否有重复行。

  • keep: 默认值为first,表示保留第一个值,删除其余的值。如果将其设置为last,则表示保留最后一个值,删除其余的值。

下面是pandas.drop_duplicates()的使用方法:

使用默认值去除重复行

使用默认值情况下,pandas会检查整个DataFrame中的所有列,如果有完全相同的行,则保留第一个行,删除其余的行。

import pandas as pd

data = {'name': ['apple', 'orange', 'banana', 'banana', 'apple'],
       'price': [1.5, 2, 3, 3, 1.5]}
df = pd.DataFrame(data)

df.drop_duplicates()

输出:

     name  price
0   apple    1.5
1  orange    2.0
2  banana    3.0

指定列去除重复行

有时候,我们只是想在一个或多个列中检查重复项,比如上面的例子中我们只想检查name列是否有重复值。我们可以使用参数subset来指定我们感兴趣的列。

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

输出:

      name  price
0    apple    1.5
1   orange    2.0
2   banana    3.0

可以看到,检查name列的结果与默认检查整个DataFrame的结果是一样的。

保留最后一个重复行

如果我们想保留最后一个重复的行而不是第一个重复的行,可以将参数keep设置为'last'。

df.drop_duplicates(keep='last')

输出:

     name  price
1  orange    2.0
3  banana    3.0
4   apple    1.5

此时,保留了最后一个重复的行。

原地删除重复行

我们可以对原始数据进行操作,通过设置inplace为True,实现原地删除。

df.drop_duplicates(inplace=True)

输出:

     name  price
0   apple    1.5
1  orange    2.0
2  banana    3.0

可以看到,原始数据被修改了,其中不再包含重复行。

这就是pandas.drop_duplicates()的使用方法,使用这个函数可以轻松清除数据中的重复行,使数据更加可靠和可用。

本文链接:http://task.lmcjl.com/news/17724.html

展开阅读全文