我的编程空间,编程开发者的网络收藏夹
学习永远不晚

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

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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

加载数据

首先,我们需要加载到所需要的数据,这里我们所需要的数据是同过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数据分析去重复值的资料请关注编程网其它相关文章!感谢阅读~

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

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

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Python数据分析之Pandas Dataframe怎么合并和去重

这篇文章主要介绍“Python数据分析之Pandas Dataframe怎么合并和去重”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python数据分析之Pandas Dataframe怎么合并和去
2023-06-30

如何使用Pandas处理数据中的重复值:全面解析去重方法

Pandas去重方法全面解析:轻松处理数据中的重复值,需要具体代码示例引言:在数据分析和处理过程中,常常遇到数据中包含重复值的情况。这些重复值可能会对分析结果产生误导或影响数据的准确性。因此,去重是数据处理的重要一环。Pandas作为Py
如何使用Pandas处理数据中的重复值:全面解析去重方法
2024-01-24

Python学习教程:Python数据分析实战基础 | 初识Pandas

这段时间和一些做数据分析的同学闲聊,我发现数据分析技能入门阶段存在一个普遍性的问题,很多凭着兴趣入坑的同学,都能够很快熟悉Python基础语法,好像自己什么都会了一点,然而实际操作起来既不知从何操起,又漏洞百出。至于原因嘛,理解不够,实践不
2023-06-02

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录