用讲故事的方式学Pandas的数据结构之Series

news2024/10/7 2:00:07

在一个遥远的数据王国中,有一个被称为Pandas的魔法图书馆,它拥有处理数据的强大力量。图书馆里有三位伟大的守护者,人们称他们为“数据处理三剑客”:Numpy,Pandas,和Matplotlib。今天,我们将聚焦于其中的一位英雄——Pandas。
在Pandas的世界里,有一种非常特殊的魔法卷轴,名叫Series。Series卷轴看起来像是一串珍珠项链,每一颗珍珠代表一个数据点,而每颗珍珠旁边都刻着一个独特的符号,这些符号就是索引标签,它们告诉你每颗珍珠的来历和意义。
创造Series卷轴有多种方法,但最常见的一种是从一个叫做“列表”的物品或者Numpy国度的数组中汲取魔力。当一个普通人用这种方式创造Series时,他们可能不会意识到每颗珍珠自动获得了一个从0开始的编号,这就是默认的索引标签。
有一次,一个年轻的魔法师想要给他的Series卷轴赋予更特殊的符号,于是他在创造卷轴的时候,用了一串神秘的字符作为索引。这样,每颗珍珠不再是简单的数字编号,而是有了自己的名字,比如“a”、“b”、“c”,这让查找和识别每颗珍珠变得更加直观和有趣。
但是,在这个魔法世界中,还有一个需要小心的魔法规则。当一个魔法师从Numpy国度的数组创造Series卷轴时,他们实际上并没有创造出新的珍珠,而是使用了原来数组中的珍珠。这意味着,如果他们改变了Series卷轴上的任何珍珠,Numpy国度中对应的珍珠也会发生改变。这是一个强大但危险的魔法,因为它可能无意中改变了原本的魔法物品。
在这里插入图片描述
在这里插入图片描述
在Pandas的魔法世界中,创造Series卷轴的方式并不局限于一种。除了从列表或Numpy数组中提取力量之外,还可以用一个充满魔力的容器——字典来创造。

在这个魔法故事的下一章节里,我们发现了另一种召唤Series卷轴的方法。当一个智慧的魔法师手持一个字典时,他发现这个字典中的每一个键值对都可以转化成一颗珍珠和它旁边的符号。键成了珍珠的名字,而值成了珍珠的力量。于是,通过施展一个简单的咒语,魔法师将字典转化为了一个全新的Series卷轴,每个键自然地成了索引,键对应的值成了数据。

【故事案例】

在一个寒风凛冽的夜晚,一位年轻的学者决定用他的魔法知识来帮助村庄的孩子们更好地了解他们的学习成绩。他想要创造一个叫做s1的Series卷轴,上面记录了语文、数学、英语以及理综的分数。为此,他尝试了不止一种魔法方法。

首先,他使用了字典,这个字典精确地映射了每门课程及其对应的分数。当他用这个字典施展咒语时,一个名为s1的Series卷轴应声而出,上面写着:

语文 150
数学 150
英语 150
理综 300

但这位学者并未停下脚步,他想展示更多的可能性。于是,他又采取了另一种方法,将分数和科目分别放入两个容器中——一个装着分数,另一个装着科目名。通过一阵魔法风暴,同样的s1卷轴再次出现,展示了同样的信息。这不仅向孩子们展示了他们的成绩,也向他们揭示了多种达成同一目标的途径。

在这里插入图片描述
在Pandas魔法世界的深处,Series卷轴的索引和切片是一种非常精妙的魔法。通过这种魔法,魔法师可以准确地找到他们需要的数据珍珠,甚至一串珍珠。这种魔法分为两种:显式索引魔法和隐式索引魔法。

【显式索引魔法】

当年轻的学者得到了他的成绩单s1后,他决定使用显式索引魔法来查看“数学”的分数。他轻轻地念出了咒语s1.loc['数学'],立刻,150这个数字就在他的面前闪耀起来。这是因为显式索引魔法使用的是珍珠旁边的符号来定位珍珠。

但他并不满足于只看到一个分数,他想要一次看到“语文”、“数学”和“英语”的分数。于是,他使用了一种更强大的咒语s1.loc['语文':'英语'],然后,一串珍珠上的数字150依次亮了起来,就像一条光芒四射的项链。

【隐式索引魔法】

隐式索引魔法略有不同,它不关心珍珠旁的符号,只关心珍珠的顺序。学者知道,如果他想用这种魔法,就必须使用.iloc这个强大的咒语。

当学者想要重新看到“数学”的分数时,他就使用了s1.iloc[1]这个咒语,150这个数字又一次显现了出来。而当他想要再次看到“语文”、“数学”和“英语”的分数时,他使用了s1.iloc[0:3],和显式索引一样,一串珍珠又一次亮了起来。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在Pandas的魔法世界里,Series卷轴被视为一种特殊的魔法物品,既像是一个装满魔法药水瓶的箱子,又似一个装着珍贵宝石的宝箱。每个药水瓶或宝石都紧密排列,既有顺序,又有标签,让每一个都能被轻易找到。但这个宝箱并不普通,它拥有一些独特的能力,让使用它的魔法师能更好地了解里面藏着的秘密。

【探索Series卷轴的结构】

想象一下,一个魔法师想要了解他的Series卷轴有多大,每个宝石代表什么,或者他只是想随便看看里面装了些什么。这时,他就可以使用一些简单的咒语来探查:

  • 通过念出shape咒语,他可以知道这个宝箱有多少个宝石。
  • 喊出size,就能得知总共有多少个魔法元素。
  • 说出index,就能看到每个宝石的标签。
  • 低语values,宝箱会展示出它所有宝石的光芒。

【审视宝箱的内容】

有时候,魔法师只是想快速查看宝箱顶部或底部的几件宝物,这时他会使用head()tail()咒语。它们像是轻轻掀开宝箱的盖子,让光线照进去,显露出里面的一小部分秘密。

【寻找遗失的宝石】

在魔法的世界中,有时候一些宝石可能会在不经意间丢失,留下一个空位。这些空位被称作NaN,意味着那里本该有一颗宝石,但现在却空无一物。为了发现这些遗失的宝石,魔法师会使用isnull()notnull()咒语。这些咒语能够帮助他们在闪闪发光的宝石中发现那些遗失的、不再发光的空位。

【赋予宝箱以名】

每个Series宝箱都有它自己的名字,这个名字是它的身份的一部分。就像每个魔法师都有自己的名字一样,这个名字可以通过name属性来查看或设置。它不仅是对宝箱本身的称呼,也是对里面宝石集合的描述。

在这里插入图片描述
在Pandas的魔法世界中,Series卷轴的运算拥有其独特的魔法规则,这些规则既有相似之处,也有它们特有的魔法属性。

【与Numpy的共同魔法】

首先,Series卷轴与Numpy的法术卷轴(即数组)在很多基本魔法上是相似的。比如,你可以对Series卷轴上的每颗珍珠(即每个数据点)施加同样的魔法,无论是增大、缩小还是进行更复杂的变换,就像Numpy数组一样。这让魔法师们能够轻松地在整个卷轴上施展统一的魔法,而不必逐一对待每颗珍珠。

【Series间的独特魔法】

当两个Series卷轴之间进行魔法对决时(即运算),情况就变得更加有趣了。每个卷轴上的珍珠都有自己的符号(即索引),当两个卷轴进行对决时,它们会先找到相同符号的珍珠,然后让这些珍珠进行对决。这就是所谓的“自动对齐”魔法,它确保了对决是公平的,每个珍珠都能找到一个相匹配的对手。

然而,如果一个卷轴上有一个珍珠而另一个卷轴上没有对应的符号,那么这个珍珠就没有对手,结果就会显示为一个空位,也就是神秘的NaN。这使得魔法对决的结果可能包含一些空缺,因为并非所有的珍珠都能找到对手。

为了保证没有珍珠被遗忘,魔法师们发明了一种特殊的咒语.add(),在使用这个咒语时,即使某个珍珠没有找到对手,它也不会被遗弃为NaN,而是保留下来。这就像是在魔法对决中设立了一个特殊的规则,即使一个珍珠独自一人,也能保留它的位置和力量。

【练习案例】

假设一个魔法师拥有一个记录了各学科成绩的Series卷轴s1,现在他想要与另一个包含“文综”成绩的Series卷轴s2进行魔法对决。他会怎么做呢?首先,他可能会尝试直接让s1和s2进行对决,看看哪些珍珠能找到匹配的对手,哪些珍珠会因为孤独而变成NaN。

但他知道,每一颗珍珠都是宝贵的,都不应该被遗弃。所以,他会使用.add()咒语,确保即使是“文综”这颗没有对手的珍珠,也能保留其在卷轴上的位置,不会被遗忘。通过这种方式,魔法师能够在保持公平的对决的同时,也尊重和保留了每一颗珍珠的价值。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

R语言实现:统计学及计量专业中的多种平均值计算方式

平均值在计量专业和统计学中有着广泛的应用如:描述数据集中趋势、比较不同组数据、评估数据的代表性、决策和判断、回归分析概率统计与财务分析等。此外,在计量专业中,平均值还被广泛应用于各种测量和校准过程中,以确保测量结果的…

AI大语言模型GPT —— R 生态环境领域数据统计分析

自2022年GPT(Generative Pre-trained Transformer)大语言模型的发布以来,它以其卓越的自然语言处理能力和广泛的应用潜力,在学术界和工业界掀起了一场革命。在短短一年多的时间里,GPT已经在多个领域展现出其独特的价值…

博客部署001-centos安装docker

1、安装docker 1.1 卸载旧版本的 Docker sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine1.2 设置 Docker 仓库 安装 Docker Engine 之前,首先需要设置…

观测线程的工具——jconsole

joconsole的简单使用 joncole位置在jdk/bin路径中,在进入路径后可以查找到jconsole.exe的应用程序。如图: 双击创建jconsole进程,可以在里面选择所要观测的java文件。 以我的代码为例: class MyThread extends Thread {Overrid…

算法基础课-搜索与图论

DFS 题目链接&#xff1a;842. 排列数字 - AcWing题库 思路&#xff1a;写的很好的题解AcWing 842. 排列数字--深度优先遍历代码注释 - AcWing #include<bits/stdc.h>using namespace std; int n; int st[10]; vector<int> a; void dfs(){if(a.size() n){for(in…

Vue 有哪些常用的指令

目录 1. 指令 v-html 1.1. 作用 1.2. 语法 1.3. 练习 2. 指令 v-show 2.1. 作用 2.2. 语法 3. 原理 4. 场景 3. 指令 v-if 3.1. 作用 3.2. 语法 3.3. 原理 3.4. 场景 4. 指令 v-else与 v-else-if 4.1. 作用 4.2. 语法 4.3. 注意 4.4. 使用场景 5. 指令 v-on 5…

详解 Redis 在 Centos 系统上的安装

文章目录 详解 Redis 在 Centos 系统上的安装1. 使用 yum 安装 Redis 52. 创建符号链接3. 修改配置文件4. 启动和停止 Redis 详解 Redis 在 Centos 系统上的安装 1. 使用 yum 安装 Redis 5 如果是Centos8&#xff0c;yum 仓库中默认的 redis 版本就是5&#xff0c;直接 yum i…

Pytorch转onnx

pytorch 转 onnx 模型需要函数 torch.onnx.export。 def export(model: Union[torch.nn.Module, torch.jit.ScriptModule, torch.jit.ScriptFunction],args: Union[Tuple[Any, ...], torch.Tensor],f: Union[str, io.BytesIO],export_params: bool True,verbose: bool False…

深入浅出 -- 系统架构之负载均衡Nginx环境搭建

引入负载均衡技术可带来的收益&#xff1a; 系统的高可用&#xff1a;当某个节点宕机后可以迅速将流量转移至其他节点。系统的高性能&#xff1a;多台服务器共同对外提供服务&#xff0c;为整个系统提供了更高规模的吞吐。系统的拓展性&#xff1a;当业务再次出现增长或萎靡时…

【Java网络编程】HTTP超文本传输协议

一、HTTP超文本传输协议 HTTP全称为Hyper Text Transfer Protocol超文本传输协议&#xff0c;它是基于TCP传输协议构建的应用层协议&#xff0c;作为支撑万维网www的核心协议&#xff0c;为了保证其效率及处理大量事务的能力&#xff0c;因此在设计时&#xff0c;HTTP被制定成为…

前端学习笔记:display(未完成)

这是本人学习的总结&#xff0c;主要学习资料如下 目录 1、一般属性2、flex系列2.1、flex容器的维度2.2、flex其他的关联属性 – 1、一般属性 display是css中的一个重要属性&#xff0c;它的值基本决定了元素的布局。这里就对它的值如何影响元素布局做一个总结。 display:bl…

go | gin 重定向路由重定向

web 重定向 重定向有一点要注意&#xff0c;重定向是在客户端那边执行的&#xff0c;一次服务器只能响应一次请求。但是要注意路由重定向 路由重定向是在服务器内部完成重定向资源请求 package mainimport ("github.com/gin-gonic/gin""fmt" )/* func main…

HUD抬头显示器阳光倒灌实验一般步骤

概述 汽车HUD&#xff08;Head-Up Display&#xff0c;即抬头显示器&#xff09;阳光倒灌实验是一种用于评估汽车抬头显示器在阳光直射条件下显示效果的测试。该实验的目的是确保HUD系统在强烈的阳光下依然能够清晰地显示信息&#xff0c;不影响驾驶员的视线和驾驶安全。 一般…

数据结构---顺序表实现

目录 1.顺序表 2.动态顺序表的实现 &#xff08;4&#xff09;顺序表初始化 &#xff08;5&#xff09;顺序表销毁 &#xff08;6&#xff09;顺序表的插入 a.尾插 b.头插 &#xff08;7&#xff09;顺序表的删除 a.尾删 b.头删 &#xff08;8&#xff09;指定位置之…

jenkins插件集成api使用

jenkins配置插件&api使用 jenkins https://mirrors.jenkins.io/war-stable/2.222.1/ 包下载地址 jenkins镜像源修改 sed -i s/https:\/\/www.google.com/https:\/\/www.baidu.com/g default.json sed -i s/https:\/\/updates.jenkins.io\/download/https:\/\/mirrors.…

使用YOLOv8训练自己的【目标检测】数据集

文章目录 1.收集数据集1.1 使用开源已标记数据集1.2 爬取网络图像1.3 自己拍摄数据集1.4 使用数据增强生成数据集1.5 使用算法合成图像 2.标注数据集2.1确认标注格式2.2 开始标注 3.划分数据集4.配置训练环境4.1获取代码4.2安装环境 5.训练模型5.1新建一个数据集yaml文件5.2预测…

ASP.NET Core 模型绑定

&#x1f340;介绍 在C#中&#xff0c;特别是在ASP.NET Core中&#xff0c;模型绑定是一个将HTTP请求中的数据映射到C#对象的过程。它使得开发者能够方便地从请求中提取数据&#xff0c;而无需手动解析请求体、查询字符串、路由数据等。ASP.NET Core提供了多种特性&#xff08…

《债务与国家的崛起》西方民主制度的金融起源 - 三余书屋 3ysw.net

债务与国家的崛起&#xff1a;西方民主制度的金融起源 你好&#xff0c;今天我们来聊聊由英国知名经济与金融历史学家詹姆斯麦克唐纳所著的《债务与国家的崛起》这本书。19世纪世界历史上发生了一次巨变&#xff0c;即“大分流”。当时西方通过工业革命实现了科技和经济的飞速…

如何保护大模型API安全

大模型的崛起正在改变着我们对机器学习和人工智能的理解&#xff0c;它们不仅提供了令人惊叹的预测和分析能力&#xff0c;还在各行各业的应用中发挥着重要作用。通过提供 API&#xff0c;用户无需了解底层实现细节&#xff0c;使大型模型能够更好地与用户和应用程序进行交互&a…

深度学习相关知识

一.环境配置 1.cuda/cudnn安装&#xff1a; 安装cuda之前首先安装vs&#xff0c;vs版本从低到高安装。 a) 安装cuda&#xff1a;首先查看显卡支持的最高CUDA的版本&#xff0c;以便下载对应的CUDA安装包&#xff1b; cmd命令行&#xff1a;nvidia-smi,显示如下&#xff1a;…