Python的Pandas--Series的创建和实现

1.Series函数的格式:

pandas.Series(data,index,dtype,name,copy)

data:一组数据(ndarray类型、list、dict等类)或标量值

index:数据索引标签。如果不指定,默认为整数,从0开始

dtype:数据类型,默认会自己判断

name:设置的名称

copy:拷贝数据,默认为False

# 创建Series对象
import pandas as pd
import numpy as np
pd1 = pd.Series([100,200,300,400])
pd2 = pd.Series((100,200,300,400))
pd3 = pd.Series(np.array((100,200,300,400)))
print("pd1:")
print(pd1)
print("pd1的数据类型是:",type(pd1))
print("pd2:")
print(pd2)
print("pd2的数据类型是:",type(pd1))
print("pd3:")
print(pd3)
print("pd3的数据类型是:",type(pd1))

pd1从列表生成

pd2从元组生成

pd3从Numpy的数组生成

在Series函数中,五个参数中必须有data(一组数据)参数,不写index默认为整数,从0开始,dtype默认会自己判断可写可不写,name设置的名称可省略,copy拷贝的数据 默认为False

注意:Series中的索引值可以是重复的

# Series对象的索引
import pandas as pd
import numpy as np
value = ["name","sex","score","class"]
print("--------ds1--------")
ds1 = pd.Series(value)
print(ds1)
print("--------ds2--------")
ds2 = pd.Series(value,[10,20,30,40])
print(ds2)
print("--------ds3--------")
index = ["name","sex","score","class"]
ds3 = pd.Series(value,index)
print(ds3)
print("--------ds4--------")
ds4 = pd.Series({'a':10,'b':20,'c':30,'d':40})
print(ds4)
print("--------ds5--------")
ds5 = pd.Series(5,index = [0,1,2,3])
print(ds5)

ds1是默认索引

ds2是显性整数索引

ds3是显性命名索引

ds4通过字典类型创建,键就是索引的名字

ds5通过标量创建,此时必须给出索引,通过索引确定大小

2.Series的values和indexs的属性

Series是由一组数据values和索引index组成,因此Series对象最重要的两个对象是数据values和索引index。可查看访问这两个对象,可对index对象重新赋值以重新建立索引,但是不能对values重新赋值

# Series对象的values和index
import pandas as pd
import numpy as np
value = ["zs","male",80,"class1"]
index = ['name','sex','score','class']
ds = pd.Series(value,index)
print("Series对象的values和index的属性访问")
print("ds的values:",ds.values)
print("ds的index:",ds.index)
print("Series对象的values和index的重新赋值")
ds.index = ['姓名','性别','成绩','年龄']
print(ds)

3.Series对象的索引

Series是由一组数据values和索引index组成,通过index可以访问对象的value

Series非常像ndarray,意味着可以采用NumPy中的一维数组操作类似的索引操作:单值元素索引和切片。如果显式给出了索引名称,也可以像字典那样通过“键”来访问对应的值

默认索引:只能通过默认整数下标访问和切片(不能是负值索引)

显式名称索引:既可以通过默认整数下标访问和切片(可以像列表那样使用负值索引),也可以通过“键”名称访问和切片

显式整数索引:只能通过指定整数下标访问元素,通过隐式整数索引(不能是负值索引)进行切片

# Series对象的索引
import pandas as pd
import numpy as np
x = pd.Series([10,20,30,40])
# 默认索引下标索引
y = pd.Series([10,20,30,40],index = ['a','b','c','d'])
# 显式名称索引下标索引
z = pd.Series([10,20,30,40],index = [100,200,300,400])
# 显式整数索引下标索引
print("x[1]=",x[1])
print("x[0:2]=",x[0:2])
print("y['b']=",y['b'])
print("y['a':'c'] =",y['a':'c'])
print("z[200]=",z[200])
print("z[0:2]=",z[0:2])

4.Series的运算和操作

NumPy中的数组运算,在Series中都保留了,都可以使用,并且Series进行数组运算的时候,索引与值之间的映射关系不会发生改变。也就是说,在操作Series的时候,基本上可以吧Series看成NumPy中的ndarray数组来进行操作。ndarray数组的绝大多数操作都可以在Series上应用

import pandas as pd
import numpy as np
x = pd.Series([10,20,5,13]) 
#默认整数下标索引
m = x>20
n = x[x>10]
p = x*10
q = np.max(x)
print("x>20:",m)
print("x[x>10]:",n)
print("x*10:",p)
print("np.max(x):",q)

Series和ndarray之间的主要区别是,Series上的操作会根据索引自动对齐数据。因此,可以不考虑所涉及的Series的数据对齐

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

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

相关文章

MySQL 数据”丢失”事件之 binlog 解析应用

事件背景 客户反馈在晚间数据跑批后,查询相关表的数据时,发现该表的部分数据在数据库中不存在 从应用跑批的日志来看,跑批未报错,且可查到日志中明确显示当时那批数据已插入到数据库中 需要帮忙分析这批数据丢失的原因。 备注:考虑信息敏感性,以下分析场景测试环境模拟,相关数据…

2024年11月HarmonyOS应用开发者高级认证 最新题库

新增单选 1.下述代码片段中的renderGroup属性,对性能的影响是什么:A A.劣化 B.不一定 C.没有变化 D.优化 2.在刷新Image组件内容时,如果观察到画面会闪一下白块,要怎样优化才能避免白块儿出现,同时又不会卡住画面…

《Opencv》基础操作详解(1)

目录 一、Opencv简介 OpenCV 的主要特点 二、Opencv库安装 1、opencv-python库安装 2、opencv-contrib-python库安装 三、Opencv 基础操作 1、opencv库的导入 2、读取、展示图片 3、查看图片信息 4、控制图片显示时间、关闭窗口 5、读取灰度图 6、彩色图片转灰度图 …

springboot3版本结合knife4j生成接口文档

1.概述 knife4j官网为:介绍 | Knife4j (xiaominfo.com)https://doc.xiaominfo.com/docs/introduction 初步了解的码友可以初步了解一下官网的如下几个模块: 其中在快速开始模块中,不同的springboot版本都有一个使用的案例demo如下图位置&am…

Android笔记(四十一):TabLayout内的tab不滚动问题

背景 假设二级页面是上面图片的布局,当进来时TabLayout和ViewPager2绑定完就马上调setCustomItem,跳转到最后一个tab页面时,会发现tab不滚动,手动滑一下ViewPager2时才会滚动tab到正确的位置 原因分析 调用TabLayoutMediator.at…

Oracle中间件 SOA之 OSB 12C服务器环境搭建

环境信息 服务器基本信息 如下表,本次安装总共使用1台服务器,具体信息如下: App1服务器 归类 APP服务器 Ip Address 172.xx.30.xx HostName appdev01. xxxxx.com Alias appdev01 OSB1服务器 归类 OSB服务器 Ip Address 172.xx3…

【HENU】河南大学计院2024 计算机网络 期末复习知识点

和光同尘_我的个人主页 一直游到海水变蓝。 计网复习 第一章互联网组成类别交换方式分组交换的要点:分组交换的优点: 网络性能指标体系结构网络协议五层协议 第二章:物理层物理层的主要任务(四大特性)通信的三种方式…

深入探讨 Go 中的高级表单验证与翻译:Gin 与 Validator 的实践之道20241223

深入探讨 Go 中的高级表单验证与翻译:Gin 与 Validator 的实践之道 在现代后端开发中,表单验证是保证数据完整性和服务稳定性的核心环节。如何优雅、高效地实现表单验证,同时提供人性化的错误提示,是每位开发者的必修课。在本文中…

【VScode】第三方GPT编程工具-CodeMoss安装教程

一、CodeMoss是什么? CodeMoss是一款集编程、学习和办公于一体的高效工具。它兼容多种主流平台,包括VSCode、IDER、Chrome插件、Web和APP等,支持插件安装,尤其在VSCode和IDER上的表现尤为出色。无论你是编程新手还是资深开发者&a…

低代码开源项目Joget的研究——Joget7社区版安装部署

大纲 环境准备安装必要软件配置Java配置JAVA_HOME配置Java软链安装三方库 获取源码配置MySql数据库创建用户创建数据库导入初始数据 配置数据库连接配置sessionFactory编译下载tomcat启动下载aspectjweaver移动jw.war文件编写脚本运行 测试参考资料 Joget,作为一款开…

Pytorch | 利用SMI-FGRM针对CIFAR10上的ResNet分类器进行对抗攻击

Pytorch | 利用I-FGSSM针对CIFAR10上的ResNet分类器进行对抗攻击 CIFAR数据集SMI-FGRM介绍SMI-FGRM算法流程 SMI-FGRM代码实现SMI-FGRM算法实现攻击效果 代码汇总smifgrm.pytrain.pyadvtest.py 之前已经针对CIFAR10训练了多种分类器: Pytorch | 从零构建AlexNet对CI…

01大模型微调教程汇总

deepspeed教程参考:Getting Started - DeepSpeed chatglm3-6b 微调的教程:ChatGLM3/finetune_demo/README.md at main THUDM/ChatGLM3 GitHub 开源的测试数据集:https://zhuanlan.zhihu.com/p/634873585 一些教程 a. docker从入门到实践…

c++---------流类

格式化输入(cin的格式化) 基本用法与控制符 在C中,std::cin用于从标准输入(通常是键盘)读取数据。它默认以空白字符(空格、制表符、换行符)为分隔符来读取不同的数据。例如,读取两个…

NIPS2014 | GAN: 生成对抗网络

Generative Adversarial Nets 摘要-Abstract引言-Introduction相关工作-Related Work对抗网络-Adversarial Nets理论结果-Theoretical Results实验-Experiments优势和不足-Advantages and disadvantages缺点优点 结论及未来工作-Conclusions and future work研究总结未来研究方…

MySQL 锁概述

1.锁的分类 根据不同的分类角度可将锁分为: 按是否共享分:S 锁、X 锁按粒度分:表级锁、行级锁、全局锁(锁整个库)、页锁(锁数据页)意向锁:意向 S 锁、意向 X 锁:都是表…

自然语言处理与知识图谱的融合与应用

目录 前言1. 知识图谱与自然语言处理的关系1.1 知识图谱的定义与特点1.2 自然语言处理的核心任务1.3 二者的互补性 2. NLP在知识图谱构建中的应用2.1 信息抽取2.1.1 实体识别2.1.2 关系抽取2.1.3 属性抽取 2.2 知识融合2.3 知识推理 3. NLP与知识图谱融合的实际应用3.1 智能问答…

模型工作流:自动化的模型内部三角面剔除

1. 关于自动减面 1.1 自动减面的重要性及现状 三维模型是游戏、三维家居设计、数字孪生、VR/AR等几乎所有三维软件的核心资产,模型的质量和性能从根本上决定了三维软件的画面效果和渲染性能。其中,模型减面工作是同时关乎质量和性能这两个要素的重要工…

大语言模型(LLM)中大数据的压缩存储及其重要性

在大型语言模型(LLM)中,KV Cache(键值缓存)的压缩方法及其重要性。 为什么要压缩KV Cache? 计算效率:在生成文本的过程中,每个生成的token都需要与之前所有的token的键值&#xff…

GitLab安装及使用

目录 一、安装 1.创建一个目录用来放rpm包 2.检查防火墙状态 3.安装下载好的rpm包 4.修改配置文件 5.重新加载配置 6.查看版本 7.查看服务器状态 8.重启服务器 9.输网址 二、GitLab的使用 1.创建空白项目 2.配置ssh 首先生成公钥: 查看公钥 把上面的…

从0开始在linux服务器上部署SpringBoot和Vue

目录 一、申请服务器的IP (1)阿里云申请IP (2)设置服务器的密码 (3)远程终端——MobaXterm 二、Docker (1)安装Docker (2)镜像加速 (3&…