Python笔记:访问或修改 Pandas Series 中的元素以及相关运算

Python 教程之 Pandas(10)—— 访问 series 的元素 标签不必是唯一的,但必须是可散列的类型。该对象支持整数和基于标签的索引,并提供了许多方法来执行涉及索引的操作。为了访问系列元素,请参考索引号。使用索引运算符 [ ] 访问系列中的元素。为了访问一个系列中的多个元素,我们使用 Slice 操作。Pandas series 是一个一维标记数组,能够保存任何类型的数据(整数、字符串、浮点数、python 对象等)。为了访问系列中的元素,我们必须通过索引标签设置值。Series 就像一个固定大小的字典,您可以通过索引标签获取和设置值。访问 series 的元素。 阅读详情

注: 我们这一篇文章中使用的数据,参考上一篇文章

访问 Pandas Series 中的元素

  • 可以通过在方括号 [ ] 内添加索引标签或数字索引访问元素,就像访问 NumPy ndarray 中的元素一样。

  • 因为我们可以使用数字索引,因此可以使用正整数从 Series 的开头访问数据,或使用负整数从末尾访问。

  • 为了清晰地表明我们指代的是索引标签还是数字索引,Pandas Series 提供了两个属性 .loc 和 .iloc :

  • 属性 .loc 表示 位置,用于明确表明我们使用的是标签索引
  • 属性 .iloc 表示整型位置,用于明确表明我们使用的是数字索引。

使用不同方法访问 Pandas Series 中的元素举例:

import pandas as pd

# 使用单一索引标签访问Pandas Series 中的数据:
print('我们需要买多少鸡蛋:', groceries['eggs'])
print()

# we can access multiple index labels
# 通过多个索引标签访问Pandas Series 中的数据:
print('我们需要牛奶和面包吗:\n', groceries[['milk', 'bread']]) 
print()

# 使用loc属性,添加多个索引标签访问Pandas Series中的数据
print('我们需要买多少鸡蛋和苹果:\n', groceries.loc[['eggs', 'apples']]) 
print()

# 使用多个数字索引访问Pandas Series中的数据
print('我们需要买多少鸡蛋和苹果:\n',  groceries[[0, 1]]) 
print()

# 使用负的数字索引访问Pandas Series中的数据
print('我们需要面包吗:\n', groceries[[-1]]) 
print()

# 使用单个数字索引访问 Pandas Series 中的数据
print('我们需要买多少鸡蛋: ', groceries[0]) 
print()

# 使用iloc属性,添加多个数字索引访问 Pandas Series 中的数据
print('我们需要牛奶和面包吗 :\n', groceries.iloc[[2, 3]])

输出:

我们需要买多少鸡蛋: 30

我们需要牛奶和面包吗:
 milk     Yes
bread     No
dtype: object

我们需要买多少鸡蛋和苹果:
 eggs      30
apples     6
dtype: object

我们需要买多少鸡蛋和苹果:
 eggs      30
apples     6
dtype: object

我们需要面包吗:
 bread    No
dtype: object

我们需要买多少鸡蛋:  30

我们需要牛奶和面包吗 :
 milk     Yes
bread     No
dtype: object

下面我们来修改 Pandas Series 中的元素

import pandas as pd

# 输出原始数据
print('输出原始的生活用品列表:\n', groceries)

# 把索引为eggs的数据修改为2
groceries['eggs'] = 2

print()
print('输出修改后的生活用品列表:\n', groceries)

输出:

输出原始的生活用品列表:
 eggs        2
apples      6
milk      Yes
bread      No
dtype: object

输出修改后的生活用品列表:
 eggs        2
apples      6
milk      Yes
bread      No
dtype: object

使用 .drop() 方法删除 Pandas Series 中的条目

  • Series.drop(label) 方法会从给定 Series 中删除给定的 label。
  • Series.drop(label) 方法不在原地从 Series 中删除元素,即不会更改被修改的原始 Series。
# 输出原始的生活用品列表
print('原始的生活用品列表:\n', groceries)
print()

# We remove apples from our grocery list. The drop function removes elements out of place
# 使用drop从生活用品中删除apples
print('删除apples之后:\n', groceries.drop('apples'))
print()

# 再次输出 原生活用品列表,发现还有apples的数据
print('再次输出原生活用品列表:\n', groceries)

原地修改Pandas Series中的数据

  • 通过在 .drop() 方法中将关键字 inplace 设为 True,原地地从 Pandas Series 中删除条目
# 输出原始的生活用品列表
print('输出原始的生活用品列表:\n', groceries)

# 设置关键词inplace为True, 原地删除该条目
groceries.drop('apples', inplace = True)
print()

# 再次输出原始生活用品列表,发现已被删除
print('再次输出原始生活用品列表:\n', groceries)

对 Pandas Series 执行元素级算术运算

# 创建一个只存储水果的生活用品列表的Pandas Series
fruits= pd.Series(data = [10, 6, 3,], index = ['apples', 'oranges', 'bananas'])

# We display the fruits Pandas Series
print('输出原始水果列表: \n' , fruits);
print()

print('加法运算 => fruits + 2:\n', fruits + 2)
print()
print('减法运算 => fruits - 2:\n', fruits - 2)
print()
print('乘法运算 => fruits * 2:\n', fruits * 2)
print()
print('除法运算 => fruits / 2:\n', fruits / 2)
print()

输出:

输出原始水果列表: 
 apples     10
oranges     6
bananas     3
dtype: int64

加法运算 => fruits + 2:
 apples     12
oranges     8
bananas     5
dtype: int64

减法运算 => fruits - 2:
 apples     8
oranges    4
bananas    1
dtype: int64

乘法运算 => fruits * 2:
 apples     20
oranges    12
bananas     6
dtype: int64

除法运算 => fruits / 2:
 apples     5.0
oranges    3.0
bananas    1.5
dtype: float64

对 Pandas Series 中的所有元素应用 NumPy 中的数学函数

import pandas as pd
import numpy as np

fruits= pd.Series(data = [10, 6, 3,], index = ['apples', 'oranges', 'bananas'])

print('输出原始fruits :\n', fruits)
print()

# 对fruits进行以e为底的指数运算:
print('EXP(X) = \n', np.exp(fruits))
print() 

# 对fruits进行开平方根运算:
print('SQRT(X) =\n', np.sqrt(fruits))
print()

# 对fruits进行二次幂运算
print('POW(X,2) =\n',np.power(fruits,2))

对 Pandas Series 中的部分条目应用算术运算

import pandas as pd
import numpy as np

fruits= pd.Series(data = [10, 6, 3,], index = ['apples', 'oranges', 'bananas'])

print('输出原始 fruits:\n ', fruits)
print()

# 为bananas条目的数据+2
print('香蕉数据 + 2 = ', fruits['bananas'] + 2)
print()

# 为apple条目的数据-2
print('苹果数据 - 2 = ', fruits.iloc[0] - 2)
print()

# 对apples和oranges的条目的数据乘上2
print('苹果和橘子的数据 * 2:\n', fruits[['apples', 'oranges']] * 2)
print()

# 苹果和橘子的数据 / 2
print('苹果和橘子的数据 / 2:\n', fruits.loc[['apples', 'oranges']] / 2)

输出:

输出原始 fruits:
  apples     10
oranges     6
bananas     3
dtype: int64

香蕉数据 + 2 =  5

苹果数据 - 2 =  8

苹果和橘子的数据 * 2:
 apples     20
oranges    12
dtype: int64

苹果和橘子的数据 / 2:
 apples     5.0
oranges    3.0
dtype: float64

对具有混合数据类型的 Pandas Series 应用算术运算

  • 前提是该算术运算适合 Series 中的所有数据类型,否则会出错。
fruits * 2
print('.........')
groceries * 2

输出:

apples     20
oranges    12
bananas     6
dtype: int64
.........
eggs          4
milk     YesYes
bread      NoNo
dtype: object
【Pandas】pandas Series mask `pandas.Series.mask` 是 Pandas 库中用于条件过滤和替换的函数。它与 `pandas.Series.where` 类似,但逻辑相反:`mask` 会根据给定的条件 `cond` 来替换满足条件的数据,对于不满足条件的数据则保持不变。该方法的具体参数如下: 阅读详情

相关推荐

【Pandas】pandas Series sum

`pandas.Series.sum()` 方法用于计算 Series 中元素的总和。以下是该方法的详细描述:

weixin_39648905的博客 2049

pandas的series的增删改查(5)

CURD的意思同数据库中一样,是创建、更新、读取和删除的意思。 5.1创建Series 标准的创建Series的方式是用字符串列表作为Series对象的标识每个数据的方式,即label来标志出每个数据。 import pandas as pd idx = "hello the cruel world".split() val = range(10, 14) s = pd.Series(va...

qq_36622490的博客 644

【Pandas】pandas Series nunique

`pandas.Series.nunique()` 方法用于计算 Series 中唯一值的数量。该方法可以忽略或包含 NaN 值,具体取决于参数设置。以下是该方法的详细描述:

weixin_39648905的博客 802

pandas series取值_数据分析pandas的简单操作

为什么要用pandas呢?numpy能够帮我们处理数值的数据,pandas除了处理数值以外还可以处理字符串,时间序列等数据类型;正常我们还是主要用pandas来读取数据;以下是读取不同类型的文件:pd.read_csv() pd.read_excel() pd.read_html() pd.read_hdf()读取数据后,我们说一下pd对数据的一些处理;1.pandas的常用数据类型series ...

weixin_39640444的博客 2041

Python爬虫实战:逆向解析央视频加密参数(附完整代码)

本文详细解析了央视频加密体系的技术实现,通过Python逆向工程实战演示如何解密动态密钥、AES加密和自定义哈希算法等核心组件。文章提供完整代码示例,涵盖GUID生成、参数构造和异步请求处理,帮助开发者掌握现代视频平台的反爬机制破解方法。

weixin_42532473的博客 1133

Paraview:Python Calculator Filter

python calculator过滤器 from paraview.simple import * connection = servermanager.Connect('localhost',11111) er = servermanager.sources.EnSightreader(CaseFileName='/.../data.case') er.PointArrays = ['x_velocity','1','y_velocity','1','z_velocity','1','cp','1']

haimianjie2012的专栏 3496

python中DataFrame.iloc的用法

在这个文档中,你可以找到关于pandas.DataFrame的方法、属性、参数说明,以及许多示例代码,帮助你了解如何使用DataFrame进行数据处理和分析。Pandas官方文档包含了大量关于pandas.DataFrame的信息和示例。是Pandas库中用于通过位置索引(整数位置)来选择DataFrame中的行和列的属性。使用的是整数位置索引,而不是标签索引。可以选择特定行和列,类似于传统的二维数组索引。对象的一个属性,用于基于整数位置进行选择。可以是整数、整数列表、整数切片等。

No12angle的博客 2348

rk3576 适配摄像头 (mipi 双摄)

RK3576 自带两个 4-Lane DPHY 和一个 DCPHY CSI 接口,可以连接 4lane 的双摄像头,最直接的方式就是充分利用其两个 D-PHY 接口。次选方案是 DCPHY + DPHY方案,更次之方案是单DPHY,设置成分离模式,连接两颗摄像头。

weixin_35723192的博客 393

pandas.Series-我的学习笔记(全)

Series 学习笔记 目录:Series 学习笔记一、list列表、ndarray、series 对比二、Series列表的创建方式1、通过一维列表创建Series序列2、通过一维数组创建Series3、通过可迭代对象创建Series4、通过字典创建Series5、通过标量(常数)创建Series三、Series常用属性说明1、Series和ndarray共有的属性2、Series独有的属性3、操作实例四、Series元素的获取1、使用head()和tail()函数获取2、切片获取Series中的元素3、

weixin_49285816的博客 558

从零搭建:C#+YOLOv8质检系统(从相机选型到上位机部署,附完整开发流程与源码)

后来换成45°斜射的条形光源,光线从侧面打在引脚上,弯曲处会形成暗区,缺陷边缘立刻清晰——光源预算别省,我这套光源+支架才600块,比换相机划算多了。前阵子帮一家电子厂做连接器引脚缺陷检测,他们原来靠2个师傅用放大镜看,每天8小时最多检5000个,0.2mm的针脚弯曲还经常漏检,不良品流到客户那里,单月罚款就超5万。做质检第一步不是挑设备,是先明确“要检测多大的缺陷”——比如我要检的连接器引脚,直径0.5mm,允许的最大弯曲是0.2mm,这直接决定相机分辨率。,后面C#就用这个模型推理。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1273

LVS 负载均衡面试题及参考答案

什么是 LVS 负载均衡?它的主要作用是什么? LVS(Linux Virtual Server)是一个基于 Linux 内核的开源负载均衡项目。它通过将请求流量按照一定的算法分发到后端的多个真实服务器(Real Server)上,从而实现负载均衡的功能。 从原理上来说,LVS 工作在网络层和传输层之间。当客户端发起请求时,请求首先到达 LVS 服务器,LVS 会根据预先设定的规则和算法,比如轮询(Round - Robin)、加权轮询(Weighted Round - Robin)、最少连

大模型大数据攻城狮的专栏 1469

Python Pandas 的使用——Series

Python Pandas 的使用——Series Pandas是一个强大的分析结构化数据的工具集;它的使用基础是Numpy(提供高性能的矩阵运算);用于数据挖掘和数据分析,同时也提供数据清洗功能。 1. Pandas 安装 官方推荐的安装方式是通过Anaconda安装,但Anaconda太过庞大,若只是需要Pandas的功能,则可通过PyPi方式安装。 pip install Pandas ...

洪城浪子的博客 9460

计算电磁学(三)有限差分方法

有限差分方法(FDM)是一种数值处理方法,通过将偏微分方程变换为一组代数方程,通过求解代数方程组来得到原边值问题的近似值。由于有限差分法非常简单,所以也特别的稳定高效。其中时域有限差分方法(FDTD)是电磁分析中的常用方法。在计算电磁学中,常用有限差分方法(finite difference equations)来替代微分方程。一个有限差分法通常包括三个步骤将求解域划分网格用有限差分方程逼近给定的微分方程求解在给定边界条件和初始状态下的方程常用的网格模型方阵斜方阵三角阵圆形阵。

CCC_B的博客 1640

pandas学习笔记之Series

如代码所示,可以直接对Series结构进行加减乘除运算符,当出现index不匹配的情况时会输出NaN。类似list,通过append方法能够在原Series上插入(追加)新的Series。若只在原Series上插入单个值,则采用赋值方式即可。数据切片的概念源于Numpy数组,Series对象使用类似NumPy中ndarray的数据访问方法实现切片操作。可以直接通过赋值的方法修改Series中的对应值。nunique()返回去重后的元素个数。unique()返回去重后的元素值。如果 data 是标量值,则。

m0_73721001的博客 3177

基于matlab的CNN物体识别物体分类系统

主要对物体进行识别,搭建一个物体分类系统本次实验选择规模稍大的 CIFAR-10 数据集进行分类识别,对应图像的大小设计 VggNet、ResNet 进行网络训练。在实际操作过程中,受限于数据规模和硬件配置,对于大小放缩、批次参数、训练步数等进行了多次调试,这也对以后的图像分类任务具有较高的参考意义,并通过对 CIFAR-10 数据集进行训练和评测,采用网络修改的方式来得到新的 CNN 结构,适用于对网络进行配置、融合等相关研究。读者可以通过自行设计或选择其他网络、加载其他数据等方式进行实验的延伸。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 2008

【Pix4d精品教程】Pix4d中央子午线细化设置(测区跨两个分带)

本文介绍了在Pix4d软件中通过修改中央子午线设置来解决跨分带测区刺点问题的方法。针对测区跨3度分带(如105°和108°之间)时像控点与靶标点偏移较大的情况,建议将中央子午线设为测区中心(如106.5°)。具体操作步骤包括:修改投影文件中的中央子午线参数,选择新的输出坐标系配置文件。该方法能有效提高像控点刺点效率,为航测内业数据处理提供便利。操作简单实用,适合大比例尺测图项目中跨分带测区的数据处理需求。

智慧空间实验室 5527

数据分析:Pandas之Series用法总结

文章目录Series一、导入Series二、创建Series1、使用列表或者numpy进行创建,默认索引为0到N-1的整数型索引2、使用字典创建(推荐使用)三、Series的索引和切片1、显式索引与切片2、隐式索引与切片四、Series的基本概念1、通过head(),tail()快速查看Series对象的样式2、isnull(),notnull()函数检测缺失数据3、扩展四、Series的运算1、 适用于numpy的数组运算也适用于Series2、Series之间的运算扩展 Series Series是线

信橙则灵的博客 1万+

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Pandas 教程之四 : Python Pandas Series

在转换操作中,我们执行各种操作,如更改Series的数据类型、将Series更改为列表等。为了访问Series中的多个元素,我们使用切片操作。用于将调用者Series的每个元素与传递的Series进行比较。为了访问Series中的元素,我们必须通过索引标签设置值。它可以选择数据的子集。该对象支持整数和基于标签的索引,并提供大量用于执行涉及索引的操作的方法。对于每个与传递的序列中的元素相等的元素,它都返回 True。为了从列表创建Series,我们必须首先创建一个列表,然后才能从列表创建Series。

潜洋的专栏 1116

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

python学习——pandas库的使用之series及DataFrame创建、查看、切片、运算

Series与DataFrame的创建、索引、切片及运算

小伟的博客 6325

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

[udacity] pandas学习笔记-2访问和删除pandas series中的元素

目录 1访问和删除pandas series中的元素 1.1如何访问 Pandas Series 中的元素。 1.2如何修改 Pandas Series 中的元素。 1访问和删除pandas series中的元素 1.1如何访问 Pandas Series 中的元素。 Pandas Series 的一大优势是我们能够以很多不同的方式访问数据。 我们可以通过在方括号 [ ] 内添加索引标签或数字索引访问元素,就像访问 NumPy ndarray 中的元素一样。 因为我们可...

大龙的编程学习笔记 1057

Pandas —— Series的创建、修改、访问、删除及合并

关于DataFrame的详解: http://blog.youkuaiyun.com/starter_____/article/details/79179562 Series的创建 Series是一种类似于一维数组的对象,它由一组数据(value)及一组与之相关的数据标签(index)组成。 传递list对象创建Series 若不指定索引,则会自动创建一个0到N-1(N为数组长度)的整数...

starter_____的博客 1万+

【python】pandas:Series详解

Series是一个一维的、大小可变的、可以包含任何数据类型的数组,以及与之相关的一组数据标签(索引)。Series对象可以被看作是一个字典对象,其中包含了数组的数据和与这些数据相关联的索引。但与字典不同的是,Series中的索引是固定的,且是有序的。Series是Pandas库中的一个核心数据结构,用于处理一维数组型数据,并带有与之相关的数据标签(通常称为“索引”)。Series可以被视为一个固定大小的、有序的、可以包含任何数据类型的数组。

MAOZI8的博客 1728

pandas 中 Series 运算汇总

对于长度不同的Series进行计算时,Pandas的处理方式是非常智能的,它通过自动对齐索引并用NaN填充缺失值,保证了计算的可行性和结果的准确性。这使得Pandas在处理实际工作中遇到的不规则数据时显得格外强大和灵活。在金融分析中,经常需要对齐交易数据,比如股票的日交易数据,尤其是在合并多个股票数据进行比较时。在科研数据处理中,例如生物信息学或气象数据分析,数据的时间点可能不完全一致,此时这种对齐方式极为重要。在商业智能中,处理销售数据或用户行为数据时,需要对产品线不同阶段的数据进行整合分析。

weixin_47552266的博客 1760

Python-Pandas学习笔记——基础

Pandas是一个强大的Python数据分析库,提供高效的数据结构和数据操作工具,导入后可通过Series实现灵活的数据处理和分析,是数据科学领域的必备工具。

broken312的博客 2293

Pandas的学习(4.DataFrame之间的运算以及DataFrame和Series之间的运算)

DataFrame的运算 1.DataFrame之间的运算 同Series一样: --- 在运算中自动对齐不同索引的数据 --- 如果索引不对应,则补NaN 无论是行不对应还是列不对应,都会补充NaN值 from pandas import DataFrame import numpy as ...

Mogul的博客 7110

python pandas series想赋予新的值_pandas Series对象创建及常用操作

pandas 的核心是 Series 和 DataFrame 两大数据结构,数据分析相关的所有事务都是围绕着这两种结构进行的。其中,Series 数据结构用于存储一个序列的一维数组,而 DataFrame 数据结构则用于存储复杂数据的二维数据结构。虽然这些数据结构不能解决所有的问题,但它们为大多数应用提供了有效且强大的工具,就简洁性而言,理解和使用它们都很简单。此外,很多更为复杂的数据结构都可以追...

weixin_39583013的博客 4438
上一篇: Python笔记:Python中的Pandas工具简介
下一篇: Python笔记:Pandas DataFrames 的使用
Wang's Blog
博客等级 码龄12年 7438粉丝 2422原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Wang's Blog

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值