Pandas——Series操作【建议收藏】

news2024/12/25 2:27:41

pandas——Series操作

作者:AOAIYI
创作不易,觉得文章不错或能帮助到你学习,可以点赞收藏评论哦


文章目录

  • pandas——Series操作
  • 一、实验目的
  • 二、实验原理
  • 三、实验环境
  • 四、实验内容
  • 五、实验步骤
    • 1.创建Series
    • 2.从具体位置的Series中访问数据
    • 3.使用标签检索数据(索引)
    • 4.简单运算
    • 5.Series的自动对齐
    • 6.Series增删改


一、实验目的

熟练掌握pandas中Series的创建、查询和简单运算方法

二、实验原理

Series的定义:Series是一种类似于一维数组的对象,它由一组数据(各种NumPy数据类型)以及一组与之相关的数据标签(即索引)组成。

Series对象本质上是一个NumPy的数组,因此NumPy的数组处理函数可以直接对Series进行处理。但是Series除了可以使用位置作为下标存取元素之外,还可以使用标签下标存取元素,这一点和字典相似。每个Series对象实际上都由两个数组组成:

index: 它是从NumPy数组继承的Index对象,保存标签信息。

values: 保存值的NumPy数组。

注意三点:

  1. Series是一种类似于一维数组(数组:ndarray)的对象

  2. 它的数据类型没有限制(各种NumPy数据类型)

  3. 它有索引,把索引当做数据的标签(key)看待,这样就类似字典了(只是类似,实质上是数组)

4.Series同时具有数组和字典的功能,因此它也支持一些字典的方法

三、实验环境

Python 3.6.1以上

jupyter

四、实验内容

练习Series的创建、查看数据与简单运算操作。

五、实验步骤

1.创建Series

1.创建一个空的Series。

import pandas as pd  
s=pd.Series()  
print(s)  

在这里插入图片描述

2.从ndarray创建一个Series,并规定索引为[100,101,102,103]。

import pandas as pd  
import numpy as np  
data=np.array(['a','b','c','d'])  
s=pd.Series(data,index=[100,101,102,103])  
print(s) 

在这里插入图片描述

3.从字典创建一个Series,字典键用于构建索引。

import pandas as pd  
data={'a':0,'b':1,'c':2,'d':3}  
s=pd.Series(data)  
print(s)

在这里插入图片描述

4.从标量创建一个Series,此时,必须提供索引,重复值以匹配索引的长度。

import pandas as pd  
s=pd.Series(5,index=[0,1,2,3])  
print(s) 

在这里插入图片描述

2.从具体位置的Series中访问数据

1.检索Series中的第一个元素。

import pandas as pd   
s=pd.Series([1,2,3,4,5],index=['a','b','c','d','e'])  
print(s[0])  

在这里插入图片描述

2.检索Series中的前三个元素。

import pandas as pd   
s = pd.Series([1,2,3,4,5],index = ['a','b','c','d','e'])  
print(s[:3])  

在这里插入图片描述

3.检索Series中最后三个元素。

import pandas as pd  
s= pd.Series([1,2,3,4,5],index = ['a','b','c','d','e'])  
print(s[-3:])  

在这里插入图片描述

3.使用标签检索数据(索引)

使用标签检索数据(索引):一个Series就像一个固定大小的字典,可以通过索引标签获取和设置值。

1.使用索引标签检索单个元素。

import pandas as pd  
s = pd.Series([1,2,3,4,5],index = ['a','b','c','d','e'])  
print(s['a'])  

在这里插入图片描述

2.使用索引标签列表检索多个元素。

import pandas as pd  
s = pd.Series([1,2,3,4,5],index = ['a','b','c','d','e'])  
print(['a','b','c','d'])  

在这里插入图片描述

3.如果不包含标签,检索会出现异常。

import pandas as pd  
s = pd.Series([1,2,3,4,5],index = ['a','b','c','d','e'])  
print(s['f'])  

在这里插入图片描述

4.简单运算

1.在pandas的Series中,会保留NumPy的数组操作(用布尔数组过滤数据,标量乘法,以及使用数学函数),并同时保持引用的使用

import numpy as np  
import pandas as pd  
ser2 = pd.Series(range(4),index = ["a","b","c","d"])  
ser2[ser2 > 2]  
ser2 * 2  
np.exp(ser2)  

在这里插入图片描述

5.Series的自动对齐

Series的一个重要功能就是自动对齐(不明觉厉),看看例子就明白了。 差不多就是不同Series对象运算的时候根据其索引进行匹配计算。

1.创建两个Series名为ser3与ser4.

import pandas as pd  
sdata = {'Ohio': 35000, 'Texas': 71000, 'Oregon': 16000, 'Utah': 5000}  
ser3 = pd.Series(sdata)  
states = ['California', 'Ohio', 'Oregon', 'Texas']  
ser4 = pd.Series(sdata,index = states)  
print(ser3)  
print(ser4)  
ser3+ser4 

在这里插入图片描述

6.Series增删改

1.增:Series的add()方法是加法计算不是增加Series元素用的,使用append连接其他Series。

import pandas as pd  
sdata = {'Ohio': 35000, 'Texas': 71000, 'Oregon': 16000, 'Utah': 5000}  
ser3 = pd.Series(sdata)  
states = ['California', 'Ohio', 'Oregon', 'Texas']  
ser4 = pd.Series(sdata,index = states)  
print(ser3)  
print(ser4)  
ser3.append(ser4)  

在这里插入图片描述

2.删:Series的drop()方法可以对Series进行删除操作,返回一个被删除后的Series,原来的Series不改变。

import pandas as pd  
s = pd.Series([1,2,3,4,5],index = ['a','b','c','d','e'])  
s.drop('a')  
s  

在这里插入图片描述

3.改:通过索引的方式查找到某个元素,然后通过“=”赋予新的值。

import pandas as pd  
s = pd.Series([1,2,3,4,5],index = ['a','b','c','d','e'])  
s['a']=5  
print(s)  

在这里插入图片描述


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

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

相关文章

FyListen——生命周期监听器(设计原理之理解生命周期)

FyListen——生命周期监听器(设计原理之理解生命周期) FyListen 的核心原理有两个: 通过子Fragment对Activity、Fragment进行生命周期监听Java8 接口特性 default 1. 什么是上下文Context 这是一个装饰器模式, ContextImpl 是 …

【ChatGPT说】我想给大家【编】一个故事,故事的主人公叫【架构师李肯】,故事的开头,还得从他那年买房说起。。。

大家好啊,我就是那个【天涯何处无知己,人穷陌路勿担忧】的架构师李肯! 架构师李肯(全网同名) 在深圳白手起家,毕业不到4年实现一线城市核心地段的安家梦,从0开始谱写励志人生!一个专…

一文手把手教你写一个 Makefile 文件

如果我们是在Linux下开发,那Makefile肯定要知道,不懂Makefile,面对较大的工程项目的时候就会比较麻烦,懂得利用开发工具将会大大提高我们的开发效率,也可以说Makefile是必须掌握的一项技能。 一、了解什么是 Makefile…

java集合框架内容整理

主要内容集合框架体系ArrayListLinkedListHashSetTreeSetLinkedHashSet内部比较器和外部比较器哈希表的原理List集合List集合的主要实现类有ArrayList和LinkedList,分别是数据结构中顺序表和链表的实现。另外还包括栈和队列的实现类:Deque和Queue。• Li…

steam/csgo搬砖项目真能月入过万吗?到底真的假的?

提前说明,这是正经、真实、官方渠道的兼职赚钱方式,不需要学历、不需要人脉,只要你认真学,每天花1-2个小时空闲时间动动手指,日赚300-1000问题不大! 搬砖是从国外steam市场置办游戏装备回来,在…

javassm运列车物资进销存及领用管理系统

主要对个人中心、生产部管理、财务部管理、库房部管理、用户管理、车型分类管理、线路信息管理、列车信息管理、物资分类管理、物资信息管理、储备定额管理、物资入库管理、物资申请管理、入库记录管理的实现。 本系统设计的现状和趋势,从需求、结构、数据库等方面的…

五、Git本地仓库基本操作——分支管理

1. 什么是分支? master分支 我们在初始化git仓库的时候,会默认创建一个master分支,HEAD指针这时就会默认执行master分支。当我们在master分支提交(commit)了更新之后,master分支就会指向当前当前最新的co…

微搭中如何实现弹性布局

我们在实际开发中经常可能会有一些社交的场景,比如开发一个类似朋友圈九宫格图片展示的功能。因为图片的数量不确定,所以需要实现图片的从左到右顺序排列。 在微搭中可以以可视化的方式设置样式。但是对于我们这类特殊需求,只用可视化设置显…

【SSL/TLS】准备工作:HTTPS服务器部署:Nginx部署

HTTPS服务器部署:Nginx部署1. 准备工作2. Nginx服务器YUM部署2.1 直接安装2.2 验证3. Nginx服务器源码部署3.1 下载源码包3.2 部署过程4. Nginx基本操作4.1 nginx常用命令行4.2 nginx重要目录1. 准备工作 1. Linux版本 [rootlocalhost ~]# cat /proc/version Li…

【宝塔部署PHP项目】含域名访问部署、IP访问部署、数据库、端口号、Nginx等知识

一定要弄懂项目部署的方方面面。当服务器上部署的项目过多时,端口号什么时候该放行、什么时候才会发生冲突?多个项目使用redis怎么防止覆盖?Nginx的配置会不会产生站点冲突?二级域名如何合理配置?空闲的时候要自己用服…

Day886.MySQL的“饮鸩止渴”提高性能的方法 -MySQL实战

MySQL的“饮鸩止渴”提高性能的方法 HI,我是阿昌,今天学习记录的是关于MySQL的“饮鸩止渴”提高性能的方法的内容。 不知道在实际运维过程中有没有碰到这样的情景: 业务高峰期,生产环境的 MySQL 压力太大,没法正常响…

力扣SQL刷题8

目录1212. 查询球队积分1270. 向公司CEO汇报工作的所有人1285. 找到连续区间的开始和结束数字1321. 餐馆营业额变化增长--重要窗口函数知识点补充1212. 查询球队积分 题型:读题 解答:先考虑做主方时,再考虑客方时 SELECT t.team_id, t.te…

人工智能轨道交通行业周刊-第33期(2023.2.6-2.12)

本期关键词:高铁激光清洗、高铁确认列车、无线通信系统、推理服务优化、量子信息技术 1 整理涉及公众号名单 1.1 行业类 RT轨道交通中关村轨道交通产业服务平台人民铁道世界轨道交通资讯网铁路信号技术交流北京铁路轨道交通网上榜铁路视点ITS World轨道交通联盟V…

大数据系列之:安装pulsar详细步骤

大数据系列之:安装pulsar详细步骤一、Pulsar版本和jdk对应关系二、安装JDK三、设置和激活jdk环境变量四、下载和解压Pulsar五、查看Pulsar目录六、启动Pulsar standalone cluster七、创建Kafka Topic八、往Topic写入数据九、消费pulsar的Topic一、Pulsar版本和jdk对…

c#小笔记本-基础

c#基本知识一.基础操作1.打印-writeline,write2.输入-readline,readkey二.变量1.折叠代码-#region,#endregion2.变量类型(在c语言变量类型上新增的)三.常量-const四.转义字符五.显示转换1.括号强转-低精度装高精度2.parse法-作用于字符串3.co…

实践指南|如何在 Jina 中使用 OpenTelemetry 进行应用程序的监控和跟踪

随着软件和云技术的普及,越来越多的企业开始采用微服务架构、容器化、多云部署和持续部署模式,这增加了因系统失败而给运维/ SRE / DevOps 团队带来的压力,从而增加了开发团队和他们之间的摩擦,因为开发团队总是想尽快部署新功能&…

28岁才转行软件测试,目前32了,我的一些经历跟感受

我是92年的,算是最早的90后,现在跟你介绍的时候还恬不知耻的说我是90后,哈哈,计算机专业普通本科毕业。在一个二线城市,毕业后因为自身能力问题、认知水平问题,再加上运气不好,换过多份工作&…

关于@hide的理解

在上一篇文章《学习HandlerThread》我们提到虽然HandlerThread类里有getThreadHandler()方法得到Handler,但是我们不可能调用到它。因为这个方法用hide注释了 /*** return a shared {link Handler} associated with this thread* hide*/NonNullpublic Handler getT…

数据一致性

目录一、AOP 动态代理切入方法(1) Aspect Oriented Programming(2) 切入点表达式二、SpringBoot 项目扫描类(1) ResourceLoader 扫描类(2) Map 的 computeIfAbsent 方法(3) 反射几个常用 api① 创建一个测试注解② 创建测试 PO 类③ 反射 api 获取指定类的指定注解信息(4) 返回…

基于Golang哈希算法监控配置文件变化

SHA(secure hashing algorithm)表示安全哈希算法.SHA是MD5的修正版本,用于数据摘要和认证。哈希和加密类似,唯一区别是哈希是单项的,即哈希后的数据无法解密。SHA有不同的算法,主要包括SHA-1, SHA-2, SHA-256, SHA-512, SHA-224, …