政安晨:快速学会~机器学习的Pandas数据技能(四)(汇总与映射)

从数据中提取价值!


概述

在上一篇文章中,我们学习了如何从DataFrame或Series中选择相关数据。从我们的数据表示中选择正确的数据对于完成工作非常重要,正如我们在练习中所演示的那样。

然而,数据并不总是以我们想要的格式直接从内存中出来。有时我们需要做一些额外的工作来重新格式化数据以适应当前的任务。本篇将介绍我们可以应用于数据的不同操作,以使输入数据“恰到好处”。

咱们还是使用上篇文章中的《葡萄酒杂志》的数据进行演示,大家可以去我上一篇文章中的头部下载。

政安晨:快速学会~机器学习的Pandas数据技能(三)(重命名与合并)icon-default.png?t=N7T8https://blog.csdn.net/snowdenkeke/article/details/136081348

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

汇总函数

Pandas提供了许多简单的“汇总函数”(非官方名称),可以以某种有用的方式对数据进行重组。例如,考虑describe()方法:

该方法生成给定列属性的高级摘要。它是类型感知的,意味着其输出根据输入的数据类型而改变。上面的输出仅对数值数据有意义;对于字符串数据,我们得到以下结果:

如果您想要获取DataFrame或Series中某一列的特定简单汇总统计信息,通常有一个方便的pandas函数可以实现。

例如,要查看分配的点数的平均值(如一款平均评分的葡萄酒的表现如何),可以使用mean()函数:

reviews.points.mean()

要查看独特值的列表,我们可以使用unique()函数:

reviews.taster_name.unique()

要查看数据集中的唯一值列表以及它们出现的频率,我们可以使用value_counts()方法:

reviews.taster_name.value_counts()

映射

地图是从数学中借用的一个术语,表示将一个值集合“映射”到另一个值集合的函数。在数据科学中,我们经常需要从现有数据创建新的表示形式,或者将数据从现在的格式转换为我们希望的格式。地图是处理这项工作的方法,因此它们对于完成工作非常重要!

有两种常用的映射方法。

map()是第一个,也稍微简单一些。例如,假设我们想要将葡萄酒得分重新平均到0。我们可以按照以下方式实现:

review_points_mean = reviews.points.mean()
reviews.points.map(lambda p: p - review_points_mean)

传递给map()的函数应该期望从Series中接收一个单值(在上面的例子中是一个点值),并返回该值的转换版本。map()返回一个新的Series,其中所有的值都被你的函数转换过。

如果我们想通过调用每一行的自定义方法来转换整个DataFrame,则可以使用apply()方法来实现相同的功能。

def remean_points(row):
    row.points = row.points - review_points_mean
    return row

reviews.apply(remean_points, axis='columns')

如果我们在调用reviews.apply()的时候指定axis='index',那么我们需要传递一个函数来转换每一行,而不是每一列。

需要注意的是,map()和apply()分别返回新的转换后的Series和DataFrame,它们不会修改原始数据。如果我们查看reviews的第一行,可以发现它仍然保持着原始的points值。

reviews.head(1)

Pandas提供了许多常见的映射操作作为内置功能。例如,下面是重新计算我们的points列的更快方法:

review_points_mean = reviews.points.mean()
reviews.points - review_points_mean

在这段代码中,我们在左边(Series中的所有值)和右边(平均值)之间执行了一个操作。Pandas会分析这个表达式,并确定我们的意图是将每个值减去平均值。

如果我们在长度相等的Series之间执行这些操作,Pandas也会理解该如何处理。例如,将数据集中的国家和地区信息组合在一起的简单方法是执行以下操作:

reviews.country + " - " + reviews.region_1

这些运算符比map()或apply()更快,因为它们利用了内建在pandas中的加速方式。所有标准的Python运算符(>、<、==等)都可以以这种方式工作。

然而,它们不像map()或apply()那样灵活,map()或apply()可以做更高级的操作,比如应用条件逻辑,而仅仅使用加法和减法是无法做到这一点的。


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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

PgSQL技术内幕 - case when表达式实现机制

PgSQL技术内幕 - case when表达式实现机制 CASE表达式如同 C语言中的if/else语句一样&#xff0c;为SQL添加了条件逻辑处理能力&#xff0c;可以根据不同条件返回不同结果。PgSQL支持两种语法&#xff1a;简单表达式和搜索表达式。 1、搜索表达式 语法如下&#xff1a; CASE WH…

2023年第四季度硬盘容量强势增长9%

在2023年第四季度&#xff08;CQ4 23&#xff09;&#xff0c;硬盘驱动器&#xff08;HDD&#xff09;市场的总容量出货量环比增长9%&#xff0c;达到214EB&#xff0c;而单位出货量保持在2900万块不变。其中&#xff0c;近线存储&#xff08;Nearline&#xff09;硬盘的容量出…

手写babel插件-第一讲

终于可以写babel系列的文章了。芜湖&#xff5e;&#xff5e; 到目前为止&#xff0c;我编程道路上的每个阶段都有主动去接触babel&#xff0c;每个阶段也都有不一样的感受。大学的时候&#xff0c;babel与webpack傻傻分不清&#xff1b;工作一年的时候&#xff0c;清醒的知道…

猫头虎分享:关闭Windows自动更新的6种方法 ‍

博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 专栏链接&#xff1a; &#x1f517; 精选专栏&#xff1a; 《面试题大全》 — 面试准备的宝典&#xff01;《IDEA开发秘籍》 — 提升你的IDEA技能&#xff01;《100天精通鸿蒙》 …

代码随想录算法训练营day14||二叉树part01、理论基础、递归遍历、迭代遍历、统一迭代

递归遍历 &#xff08;必须掌握&#xff09; 本篇将介绍前后中序的递归写法&#xff0c;一些同学可能会感觉很简单&#xff0c;其实不然&#xff0c;我们要通过简单题目把方法论确定下来&#xff0c;有了方法论&#xff0c;后面才能应付复杂的递归。 这里帮助大家确定下来递归…

Huggingface上传模型

Huggingface上传自己的模型 参考 https://juejin.cn/post/7081452948550746148https://huggingface.co/blog/password-git-deprecationAdding your model to the Hugging Face Hub&#xff0c; huggingface.co/docs/hub/ad…Welcome&#xff0c;huggingface.co/welcome三句指…

【网络攻防实验】【北京航空航天大学】【实验一、入侵检测系统(Intrusion Detection System, IDS)实验】

实验一、入侵检测系统实验 1、 虚拟机准备 本次实验使用1台 Kali Linux 虚拟机和1台 Windows XP 虚拟机,虚拟化平台选择 Oracle VM VirtualBox,如下图所示。 2、 Snort环境搭建 实验前,先确保Kali Linux虚拟机能够访问外网,将网络模式设置为“网络地址转换”: 2.1 安装…

ZooKeeper安装及配置(Windows版)

步骤&#xff1a; 1.官网下载二进制版本ZooKeeper安装包。 2.解压到你要安装的目录下 3.配置 3.1进入目录 D:\Install\apache-zookeeper-3.9.1-bin 新增两个文件夹&#xff1a;data和log 3.2 进入目录D:\Install\apache-zookeeper-3.9.1-bin\conf 复制zoo_sample.cfg文件&a…

C#上位机与三菱PLC的通信02--MC协议介绍

1、协议介绍 三菱 PLC MC 协议是一种用于三菱 PLC 与上位机之间进行数据通信的协议&#xff0c;也称为 Mitsubishi Communication Protocol。该协议支持串口、以太网等多种通讯方式&#xff0c;可实现实时数据的采集和交换。三菱PLC的MC协议是一种数据通信协议&#xff0c;它用…

深入理解ES的倒排索引

目录 数据写入过程 词项字典 term dictionary 倒排表 posting list FOR算法 RBM算法 ArrayContainer BitMapContainer 词项索引 term index 在Elasticsearch中&#xff0c;倒排索引的设计无疑是惊为天人的&#xff0c;下面看下倒排索引的结构。 倒排索引分为词项索引【…

数据结构(C语言)代码实现(八)——顺序栈实现数值转换行编辑程序汉诺塔

目录 参考资料 顺序栈的实现 头文件SqStack.h&#xff08;顺序栈函数声明&#xff09; 源文件SqStack.cpp&#xff08;顺序栈函数实现&#xff09; 顺序栈的三个应用 数值转换 行编辑程序 顺序栈的实现测试 栈与递归的实现&#xff08;以汉诺塔为例&#xff09; 参考资…

2024-2-9-复习作业

1> 要求&#xff1a; 源代码&#xff1a; CCgcc EXEa.out OBJS$(patsubst %.c,%.o,$(wildcard *.c)) CFLAGS-c -oall:$(EXE)$(EXE):$(OBJS)$(CC) $^ -o $%.o:%.c$(CC) $(CFLAGS) $ $^.PHONY:cleanclean:rm $(OBJS) $(EXE) 效果图&#xff1a; 2> 要求&#xff1a; 源…

【JAVA WEB】标签的应用

个人简历信息填写界面 通过上篇博客对java web标签的介绍&#xff0c;这里我们简单的应用一下这些标签。 效果 代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content&q…

c#cad 创建-点(六)

运行环境 vs2022 c# cad2016 调试成功 一、代码说明 创建一个点的命令方法。代码的主要功能是在当前活动文档中创建一个点&#xff0c;并将其添加到模型空间块表记录中。 代码的主要步骤如下&#xff1a; 获取当前活动文档、数据库和编辑器对象。使用事务开始创建点的过程…

【开源】JAVA+Vue.js实现高校实验室管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、研究内容2.1 实验室类型模块2.2 实验室模块2.3 实验管理模块2.4 实验设备模块2.5 实验订单模块 三、系统设计3.1 用例设计3.2 数据库设计 四、系统展示五、样例代码5.1 查询实验室设备5.2 实验放号5.3 实验预定 六、免责说明 一、摘…

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

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

vue3项目实现预览图片、旋转图片功能

一、需求&#xff1a; 在点击图片时&#xff0c;能预览大图&#xff0c;弹出一个包含旋转图片功能按钮的弹窗。用户可通过点击按钮实现对图片的旋转操作 二、思路&#xff1a; 点击图片预览&#xff1a; 用户通过点击图片触发预览功能。接收图片的 URL&#xff0c;弹出一个模…

Vue-Vue3 集成编辑器功能

1、安装依赖 编辑器插件需要安装 wangeditor/editor 和 wangeditor/editor-for-vue 两个插件 npm install wangeditor/editor --savevue3运行如下命令安装 npm install wangeditor/editor-for-vuenext --savevue2运行如下命令安装 npm install wangeditor/editor-for-vue -…

云计算运维1

1、企业服务器LNMP环境搭建 集群&#xff1a;多台服务器在一起作同样的事 。分布式 &#xff1a;多台服务器在一起作不同的事 。 环境准备&#xff1a; 1、设置静态ip&#xff08;NAT模式网关为.2&#xff09; # cat /etc/sysconfig/network-scripts/ifcfg-ens33 TYPE"E…

Stable Diffusion 模型下载:majicMIX realistic 麦橘写实 - V7

文章目录 模型介绍生成案例案例一案例二案例三案例四案例五案例六案例七案例八案例九案例十下载地址模型介绍 非常推荐的一个写实模型,由国人“Merjic”发布,下载量颇高。这款大模型带来非常高的写实度以及光影感,特别是光线在画面中生成的感觉,也相比其他的人物大模型带来…