Python教程pandas数据分析去重复值

 更新时间:2021年09月16日 10:29:32   作者:sharon@zhang  
Pandas指定行进行去重更新值,加载数据sample抽样函数,指定需要更新的值append直接添加append函数用法,根据某一列key值进行去重key唯一

加载数据

首先,我们需要加载到所需要的数据,这里我们所需要的数据是同过sample函数采样过来的。

import pandas as pd 
#这里说明一下,clean_beer.csv数据有两千多行数据
#所以从其中采样一部分,来进行演示,当然可以简单实用data.head()也可以做练习
data = pd.read_csv('clean_beer.csv')
data_sam = data.sample(frac=0.1,weights=data['ounces'].values)
data_sam1 = data_sam
data_sam

我们采用data[‘ounces']列为权重对数据进行采样,并将结果赋值给data_sam1,其中data_sam和data_sam1是后续我们需要用到的两个数据(因为需要将两个数据合并,并去除重复)

此时,data_sam和data_sam1的数据是一样的。

data_sam数据

data_sam

data_sam

data_sam1数据

data_sam1

在这里插入图片描述

sample抽样函数

简要介绍一下sample函数

df.sample()就是抽样函数,参数如下:

df.sample(n=None,frac=None,replace=Flase,weights=None,random_state=None,axis=None)

参数说明:

n:就是样本量,如果不写,就是抽一条数据

frac:抽样比,就是样本量占全样本的比例,如frac=0.3 ,注意n和frac不能共存

replace:是否放回,默认是不放回,如果有放回(replace=True)可以选择比df长度更多的元素回来

weights:样本权重,自动归一化,可以以某一列为权重

random_state:随机状态。就是为了保证程序每次运行得到的结果都一样

axis:抽样维度,0是行,1是列,默认为0

指定需要更新的值

接下来,我们对data_sam1的值进行更新,主要是将data_sam1的ounces属性列值加上后缀'.0 oz',具体代码如下:

data_sam1['ounces'] = data_sam1['ounces'].astype('str') + '.0 oz'
data_sam1

对data_sam1的值进行显示,其中我们可以看到,ounces的值已经全部加上了我们所指定的后缀:

在这里插入图片描述

现在,我们已经得到的新的值,接下来的目标就是如何将我们已经得到的新值,更新到data_sam中

append直接添加

从标题可以看到,我们使用的是append方法进行直接添加。

data_sam = data_sam.append(data_sam1,ignore_index=True)
data_sam

我们将data_sam1使用append方法添加到data_sam最后一行的后面。下面展示其结果,并详细介绍append的用法。

append

可以看到,行数已经有原来的241改为现在的482rows,显然我们此时已经成功使用append添加数据成功。不过我们想要的不止是简简单单的添加数据在最后一行,而是想要把我们增加后缀的那一列更新到原来的数据中,所以最后一步就是去重。

append函数用法

append()函数的语法为:

DataFrame.append(other,ignore_index=False,verify_integrity=False,sort=None)

参数说明:
other: DataFrame,Series或Dict式对象,其行将添加到调用方DataFrame中。

ignore_index: 如果为True,则将忽略源DataFrame对象中的索引。

verify_integrity:如果为True,则在创建具有重复项的索引时引发ValueError 。

sort: 如果源DataFrame列未对齐,则对列进行排序。 不建议使用此功能。 因此,我们必须传递sort=True来排序和静音警告消息。 如果传递了sort=False ,则不会对列进行排序,并且会忽略警告。

根据某一列key值进行去重(key唯一)

接下来,就是最后一个步骤,也就是根据ounces列对数据进行去重。
通过duplicated()函数可以看到数据还是有很多重复的。

data_sam.duplicated(['id'],keep='first')

在这里插入图片描述

DataFrame.drop_duplicated(self,subset = None,keep ='first')
subset : 列标签或标签序列,可选仅考虑某些列来标识重复项,默认情况下使用所有列
keep : {'first','last',False},默认为'first'
		first:将重复项标记True为第一次出现的除外。
		last:将重复项标记True为最后一次除外。
		False:将所有重复项标记为True。

既然知道数据中是有重复项的,通过对数据的观察可以看到,数据的id是唯一的,所以我们以id这一列为契机,来进行我们的去重操作。具体代码如下:

data_sam = data_sam.drop_duplicates(subset = 'id')
data_sam

最后来看一看,我们最后的结果是不是已经成功去重,或者说是不是我们想要的最终结果呢???

在这里插入图片描述

根据上面的图片结果,可以看到我们已经执行成功,得到的确实是我们起初想要的一个数据结果。有兴趣的也可以去试一下merge和update联合的操作进行更新数据,看看是不是也能成功。

以上就是Python教程pandas数据分析的详细内容,希望通过记录能够加强记忆,并帮到和我一样正在学习的你,更多关于pandas数据分析去重复值的资料请关注脚本之家其它相关文章!感谢阅读~

相关文章

  • ​Python使用Mediapipe对图像进行手部地标检测

    ​Python使用Mediapipe对图像进行手部地标检测

    本文将以深度库即Mediapipe为基础库,以及其他计算机视觉预处理的CV2库来制作手部地标检测模型,文中的示例代码讲解详细,感兴趣的可以了解一下
    2022-03-03
  • 总结Python编程中三条常用的技巧

    总结Python编程中三条常用的技巧

    这篇文章主要介绍了总结Python编程中三条常用的技巧,包括JSON格式的转换、else语句的活用和setdefault方法的使用,需要的朋友可以参考下
    2015-05-05
  • python3爬取torrent种子链接实例

    python3爬取torrent种子链接实例

    今天小编就为大家分享一篇python3爬取torrent种子链接实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • Django静态文件加载失败解决方案

    Django静态文件加载失败解决方案

    这篇文章主要介绍了Django静态文件加载失败解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • tensorflow学习教程之文本分类详析

    tensorflow学习教程之文本分类详析

    初学tensorflow,借鉴了很多别人的经验,参考博客对评论分类(感谢博主的一系列好文),本人也尝试着实现了对文本数据的分类,下面这篇文章主要给大家介绍了关于tensorflow学习教程之文本分类的相关资料,需要的朋友可以参考下
    2018-08-08
  • Python HTTP客户端自定义Cookie实现实例

    Python HTTP客户端自定义Cookie实现实例

    这篇文章主要介绍了Python HTTP客户端自定义Cookie实现实例的相关资料,需要的朋友可以参考下
    2017-04-04
  • Python tkinter中label控件动态改变值问题

    Python tkinter中label控件动态改变值问题

    这篇文章主要介绍了Python tkinter中label控件动态改变值问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-01-01
  • python中import reload __import__的区别详解

    python中import reload __import__的区别详解

    这篇文章主要介绍了python中import reload __import__的区别详解,需要的朋友可以参考下
    2017-10-10
  • python算法测试结果自动保存到excel表格的实现步骤

    python算法测试结果自动保存到excel表格的实现步骤

    我们在进行算法评估是通常会针对每个样本的算法处理结果进行统计,例如每个样本正确预测数量、漏检数量和误检数量、精度等,本文小编将给大家介绍python算法测试结果自动保存到excel表格的实现步骤,感兴趣的朋友可以参考下
    2023-12-12
  • Python中你应该知道的一些内置函数

    Python中你应该知道的一些内置函数

    python提供了内联模块buidin,该模块定义了一些软件开发中常用的函数,这些函数实现了数据类型的转换,数据的计算,序列的处理等功能。下面这篇文章主要给大家介绍了Python中一些大家应该知道的内置函数,文中总结的非常详细,需要的朋友们下面来一起看看吧。
    2017-03-03

最新评论