政安晨:快速学会~机器学习的Pandas数据技能(三)(重命名与合并)

使用机器学习处理数据的第一步就得先理解它,咱们现在就帮助它们一起理解起来。

本篇文章这次换一套数据集,数据文件可以在文章头部下载,并保存至您的虚拟环境的目录中

不知道如何搭建环境的小伙伴请看我机器学习笔记里面的入门文章:

政安晨的机器学习笔记icon-default.png?t=N7T8http://t.csdnimg.cn/lZqlV


概述

往往数据会给我们带来列名、索引名或其他命名约定,而我们对此并不满意。在这种情况下,你会学习如何使用pandas函数将有问题的条目的名称更改为更好的名称。你还将探索如何将多个DataFrame和/或Series的数据合并在一起。

重命名

我们在这里介绍的第一个函数是rename(),它可以让您更改索引名称和/或列名称。例如,要将数据集中的points列更改为score,我们可以这样做:

import pandas as pd
pd.set_option('display.max_rows', 5)
reviews = pd.read_csv("./winemag-data-130k-v2.csv", index_col=0)
reviews

政安晨的执行:

reviews.rename(columns={'points': 'score'})

将points重命名为score:

rename()函数允许通过指定index或column关键字参数来重命名索引或列的值。它支持多种输入格式,但一般来说,使用Python字典是最方便的。以下是一个使用rename()函数重命名索引元素的示例。

reviews.rename(index={0: 'firstEntry', 1: 'secondEntry'})

您可能经常重命名列,但很少重命名索引值。为此,通常使用set_index()更方便。

行索引和列索引都可以有自己的名称属性。可以使用rename_axis()方法来更改这些名称。

例如:

reviews.rename_axis("wines", axis='rows').rename_axis("fields", axis='columns')

组合

在对数据集进行操作时,我们有时需要以非平凡的方式组合不同的DataFrame和/或Series。Pandas提供了三种核心方法来实现这一点。按照复杂程度递增的顺序,它们是concat()、join()和merge()。大部分merge()能做的事情在join()中也可以更简单地实现,因此我们将忽略merge()并集中讨论前两个函数。

最简单的组合方法是concat()。给定一个元素列表,这个函数将把这些元素沿着一个轴粘合在一起。

当我们有不同的DataFrame或Series对象,但具有相同的字段(列)时,这是非常有用的。

例如:某平台视频数据集,根据原始国家(例如加拿大和英国)将数据拆分。如果我们想同时研究多个国家,我们可以使用concat()将它们合并在一起。

canadian_xxx = pd.read_csv("../input/xxx-new/CAvideos.csv")
british_xxx = pd.read_csv("../input/xxx-new/GBvideos.csv")pd.concat([canadian_youtube, british_youtube])

在复杂性方面中最复杂的组合器是join()。join()允许您组合具有共同索引的不同DataFrame对象。例如,要获取在加拿大和英国都趋势的视频,我们可以执行以下操作:

left = canadian_xxx.set_index(['title', 'trending_date'])
right = british_xxx.set_index(['title', 'trending_date'])left.join(right, lsuffix='_CAN', rsuffix='_UK')

在这里,lsuffix和rsuffix参数是必需的,因为英国和加拿大数据集中具有相同的列名。如果这不是真的(例如,我们之前已将它们重命名),我们就不需要它们。


(这里咱们就先不演绎了)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/674913.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

文件上传总结:用原生解决前端文件上传操作(单个,多个,大文件切片)

目录 第一章 前言 第二章 理解文件上传的对象 2.1 如何利用原生实现 2.2 认识理解文件上传的四个对象 2.2.1 file对象 2.2.2 blob对象 2.2.3 formData对象 2.2.4 fileReader对象 2.2.4.1 了解fileReader对象基本属性 2.2.4.2 了解 fileReader对象基本方法 2.2.4.3…

【高阶数据结构】位图布隆过滤器

文章目录 1. 位图1.1什么是位图1.2为什么会有位图1.3 实现位图1.4 位图的应用 2. 布隆过滤器2.1 什么是布隆过滤器2.2 为什么会有布隆过滤器2.3 布隆过滤器的插入2.4 布隆过滤器的查找2.5 布隆过滤器的模拟实现2.6 布隆过滤器的优点2.7 布隆过滤器缺陷 3. 海量数据面试题3.1 哈…

mysql 对于null字段排序处理

最近遇到一个需求 ,需要对一个报表的多个字段进行多字段复杂条件排序 排序字段为NULL时 Mysql对于排序字段为NULL时,有自身默认的排序规则,默认是认为null 值 是无穷小 ELECT id,script_id,last_modified,live_count,next_show FROM virtua…

Kubernetes 简介

📎k8s 入门到微服务项目实战.xmindhttps://www.yuque.com/attachments/yuque/0/2024/xmind/35457682/1707117691869-1ea2805d-7218-4223-a0a9-877147ca84b2.xmind 目录 1、概念介绍 应用部署的演变 Kubernetes 架构图 分层架构 2、Kubernetes 组件 控制面板组…

@PostMapping/ @GetMapping等请求格式

目录 1.只传一个参数的 第一种 第二种 第三种:表单 2.传整个对象的 2.1修改实体类就是传整个对象过来 2.2新增实体类就是传整个对象过来新增 1.只传一个参数的 第一种 PostMapping("/add/{newsId}")public Result addOne(PathVariable Integer newsId) {}pos…

【GAMES101】Lecture 19 透镜

目录 理想的薄透镜 模糊 利用透镜模型做光线追踪 景深(Depth of Field) 理想的薄透镜 在实际的相机中都是用的一组透镜来作为这个镜头 这个因为真实的棱镜无法将光线真正聚焦到一个点上,它只能聚在一堆上 所以方便研究提出了一种理想化的…

vue3 解决ionic安卓版顶部状态栏空白问题

问题展示: 解决:引入capacitor/status-bar npm install capacitor/status-bar npx cap sync在需要设置状态栏的组件上设置背景跟颜色即可

spring boot整合 cache 以redis服务 处理数据缓存 便捷开发

我们常规开发中 就是程序去数据库取数据 然后返回给客户端 但是 如果有些业务业务量非常庞大 不断访问数据库 性能就会非常糟糕 从而造成不好的用户体验 那么 我们自然就可以将数据查到缓存中 然后 用户访问 从缓存中取 这样就会大大提高用户的访问效率 之前 我的文章 java …

vue3集成bpmn

文章目录 前言一、依赖二、汉化配置1.引入文件2.样式文件 总结 前言 vue3 集成bpmn 配置工作流 一、依赖 "bpmn-js": "^7.3.1", "bpmn-js-properties-panel": "^0.37.2", "bpmn-moddle": "^6.0.0", "camu…

C#,聚会数(相遇数,Rencontres Number)的算法与源代码

1 相遇数 相遇数(Rencontres Number,partial derangement numbers)是指部分扰动的数量,或与独立对象的r相遇的置换数(即具有固定点的独立对象的置换数)。 看不通。懂的朋友给解释一下哈。 2 源程序 using…

DC-8靶机渗透详细流程

信息收集: 1.存活扫描: arp-scan -I eth0 -l └─# arp-scan -I eth0 -l Interface: eth0, type: EN10MB, MAC: 00:0c:29:dd:ee:6a, IPv4: 192.168.10.129 Starting arp-scan 1.10.0 with 256 hosts (https://github.com/royhills/arp-scan) 192.168.10…

版本控制工具——Git

版本控制工具——Git 前言一、版本库二、git的工作区域和文件状态三、添加和提交文件四、回退版本:git reset --模式 版本号五、查看差异:git diff六、从版本库中删除文件七、.gitignore:git中的特殊文件八、Git、GitHub跟Sourcetree的关系九…

python多线程连接MySQL查数案例

该博文展示地是基本示例,实际使用时可能需要进行调整。例如,你可能需要添加错误处理来确保数据库连接问题不会导致脚本崩溃,或者你可能需要调整查询以匹配你的数据。 此外,你需要确保你的系统有足够的内存和处理能力来支持并行处理…

【JS逆向一】逆向某站的 加密参数算法--仅供学习参考

逆向日期:2024.02.06 使用工具:Node.js 文章全程已做去敏处理!!! 【需要做的可联系我】 可使用AES进行解密处理(直接解密即可):在线AES加解密工具 1、打开某某网站(请使用文章开头的…

有道ai写作,突破免费限制,无限制使用

预览效果 文末提供源码包及apk下载地址有道ai写作python版 import hashlib import time import json import ssl import base64 import uuidfrom urllib.parse import quote import requests from requests_toolbelt.multipart.encoder import MultipartEncoder from Crypto.C…

SpringSecurity+OAuth2权限管理实战

Spring Security快速入门 官方文档: Spring Security :: Spring Security 功能: 身份认证(authentication) 授权(authorization) 防御常见攻击(protection against common attacks&#xff…

Oracle篇—logminer日志挖掘恢复误操作数据

☘️博主介绍☘️: ✨又是一天没白过,我是奈斯,DBA一名✨ ✌✌️擅长Oracle、MySQL、SQLserver、Linux,也在积极的扩展IT方向的其他知识面✌✌️ ❣️❣️❣️大佬们都喜欢静静的看文章,并且也会默默的点赞收藏加关注❣…

YouTrack 用户登录提示 JIRA 错误

就算输入正确的用户名和密码,我们也得到了下面的错误信息: youtrack Cannot retrieve JIRA user profile details. 解决办法 出现这个问题是因为 YouTrack 在当前的系统重有 JIRA 的导入关联。 需要把这个导入关联取消掉。 找到后台配置的导入关联&a…

FPGA_简单工程_无源蜂鸣器驱动实验

一 理论 蜂鸣器按其结构可分为电磁式蜂鸣器和压电式蜂鸣器2中类型,按其有无信号源,分为有源蜂鸣器和无源蜂鸣器。 有源蜂鸣器,内部装有集成电路,不需要音频驱动电路,就直接能发出声响,而无源蜂鸣器&#…

AWS配置内网EC2服务器上网【图形化配置】

第一种方法:创建EC2选择启用分配公网ip 1. 创建vpc 2. 创建子网 3. 创建互联网网关 创建互联网网关 创建互联网网关 ,设置名称即可 然后给网关附加到新建的vpc即可 4. 给新建子网添加路由规则,添加新建的互联网网关然后点击保存更改 5. 新建…