百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT知识 > 正文

python数据分析:对pandas的Series和DataFrame数据做循环遍历

liuian 2025-04-09 17:51 34 浏览

知识点

对Series和DataFrame对象及values属性做循环遍历;

对DataFrame对象使用iterrows函数和itertuples函数按行做循环遍历,使用items函数按列做循环遍历 。

安装和使用pandas

使用前提前安装pandas库:

pip install pandas -i https://mirrors.aliyun.com/pypi/simple/

使用时直接导入即可

import pandas as pd

Series数据循环遍历

Series对象是一个一维数组,类似于list列表

1)对Series对象直接遍历

# 从列表创建 Series
data = [1, 2, 3, 4, 5]
s = pd.Series(data)
for i in s:
   pritn(i)

结果:

1
2
3
4
5

2)对Series的values属性(返回 Series中的数据值)遍历

举例:定义一个series接口数据并指定索引和名称

data = [[1, 2, 3], [4, 5,6]]
s = pd.Series(data, name='一维数组',index=['a', 'b'])
for i in s.values:
   pritn(i)

结果:

[1, 2, 3]
[4, 5, 6]

2. DataFrames数据循环遍历

DataFrame 是一个二维的表格数据结构,具有标记的轴(行和列)。其中每一列相当于一个Series。

我们先定义一个DataFrame对象

import pandas as pd
# 从字典创建 DataFrame,字典的键是列名
data_dict = {
'name': ['lilei', 'lili', 'wanglei'],
'age': [25, 30, 35],
'city': ['shanghai', 'shenzhen', 'nanjing']
}
df = pd.DataFrame(data_dict)

1)对DataFrame的values属性做循环遍历(按行迭代)

for i in df.values:
   print(i,type(i))

结果:每行返回的是一个numpy数组

['lilei' 25 'shanghai'] 
['lili' 30 'shenzhen'] 
['wanglei' 35 'nanjing'] 

我们可以继续对每个numpy数组做循环遍历,获取每个元素的值

for i in df.values:
   for j in i:
      print(j)

结果:

2)iterrows函数:对DataFrame对象做循环遍历(按行迭代)

iterrows函数是一个生成器,每次循环时返回一个元组,元组的第一个元素是索引,第二个元素是每行对应的Series对象

举例:对iterrows函数做循环遍历

for i in df.iterrows():
   print(i)

结果:显示每一行为一个元组

我们继续对每个元组的第2个元素做循环遍历

上面的for循环语句变成如下:

for i in df.iterrows():
   for j in i[1]:
      print(j)

结果显示遍历得到的是每行中的值。

3)itertuples函数:对DataFrame对象做循环遍历(按行迭代)

itertuples函数返回namedtyple元组,参数index默认为True,则元组的第一个元素是索引,第二个元素是每行对应的namedtuple对象 ; 传值为False则不增加索引值,直接返回namedtuple对象

举例:对itertuples函数做循环遍历,参数index=False

for i in df.itertuples(index=False):
   print(i,type(i))
   for j in i:
      print(j)

结果显示遍历得到的是每行中的值。

4)items函数:对DataFrame对象做循环遍历(按列迭代)

items函数是一个生成器,每次循环返回的元组中第一个元素是列名,第二个元素是每列对应的Series对象。

举例:对items函数做循环遍历,并打印第2个元素的type

for i in df.items():
   print(i,type(i[1]))

结果:每个元组第1个元素为列名,第2个元素为每列的Series对象

我们继续对第2个元素做循环,得到每列的值:

for i in df.items():
   for j in i[1]:
      print(j)

结果:

5)直接对DataFrame对象做循环遍历(按列迭代)

举例:对DataFrame对象循环遍历,可以得到每个列名

for i in df:
   print(i)

结果:

name
age
city

我们继续通过列名得到每一列的Series对象,并做循环


for i in df:
   for j in df[i]:
      print(j)

结果:

或者我们直接对某一列做循环处理,比如对name这一列

for i in df['name']:
   print(i)

结果:

lilei
lili
wanglei

共勉: 东汉·班固《汉书·枚乘传》:“泰山之管穿石,单极之绠断干。水非石之钻,索非木之锯,渐靡使之然也。”

-----指水滴不断地滴,可以滴穿石头;

-----比喻坚持不懈,集细微的力量也能成就难能的功劳。

----感谢读者的阅读和学习,谢谢大家。

相关推荐

赶紧收藏!编程python基础知识,本文给你全部整理好了

想一起学习编程Python的同学,趁我粉丝少,可以留言、私信领编程资料~Python基础入门既然学习Python,那么至少得了解下这门编程语言,知道Python代码执行过程吧。Python的历...

创建绩效改进计划 (PIP) 的6个步骤

每个经理都必须与未能达到期望的员工抗衡,也许他们的表现下降了,他们被分配了新的任务并且无法处理它们,或者他们处理了自己的任务,但他们的行为对他人造成了破坏。许多公司转向警告系统,然后在这些情况下终止。...

PI3K/AKT信号通路全解析:核心分子、上游激活与下游效应分子

PI3K/AKT/mTOR(PAM)信号通路是真核细胞中高度保守的信号转导网络,作用于促进细胞存活、生长和细胞周期进程。PAM轴上生长因子向转录因子的信号传导受到与其他多条信号通路的多重交叉相互作用的...

互联网公司要求签PIP,裁员连N+1都没了?

2021年刚画上句号,令无数互联网公司从业者闻风丧胆的绩效公布时间就到了,脉脉上已然炸了锅。阿里3.25、腾讯二星、百度四挡、美团绩效C,虽然名称五花八门,实际上都代表了差绩效。拿到差绩效,非但不能晋...

Python自动化办公应用学习笔记3—— pip工具安装

3.1pip工具安装最常用且最高效的Python第三方库安装方式是采用pip工具安装。pip是Python包管理工具,提供了对Python包的查找、下载、安装、卸载的功能。pip是Python官方提...

单片机都是相通的_单片机是串行还是并行

作为一个七年的从业者,单片机对于我个人而言它是一种可编程的器件,现在长见到的电子产品中几乎都有单片机的身影,它们是以单片机为核心,根据不同的功能需求,搭建不同的电路,从8位的单片机到32位的单片机,甚...

STM32F0单片机快速入门八 聊聊 Coolie DMA

1.苦力DMA世上本没有路,走的人多了,便成了路。世上本没有DMA,需要搬运的数据多了,便有了DMA。大多数同学应该没有在项目中用过这个东西,因为一般情况下也真不需要这个东西。在早期的单片机中...

放弃51单片机,直接学习STM32开发可能会面临的问题

学习51单片机并非仅仅是为了学习51本身,而是通过它学习一种方法,即如何仅仅依靠Datasheet和例程来学习一种新的芯片。51单片机相对较简单,是这个过程中最容易上手的选择,而AVR单片机则更为复杂...

STM32串口通信基本原理_stm32串口原理图

通信接口背景知识设备之间通信的方式一般情况下,设备之间的通信方式可以分成并行通信和串行通信两种。并行与串行通信的区别如下表所示。串行通信的分类1、按照数据传送方向,分为:单工:数据传输只支持数据在一个...

单片机的程序有多大?_单片机的程序有多大内存

之前一直很奇怪一个问题,每次写好单片机程序之后,用烧录软件进行烧录时,能看到烧录文件也就是hex的文件大小:我用的单片机芯片是STM32F103C8T6,程序储存器(flash)只有64K。从...

解析STM32单片机定时器编码器模式及其应用场景

本文将对STM32单片机定时器编码器模式进行详细解析,包括介绍不同的编码器模式、各自的优缺点以及相同点和不同点的应用场景。通过阅读本文,读者将对STM32单片机定时器编码器模式有全面的了解。一、引言...

两STM32单片机串口通讯实验_两个32单片机间串口通信

一、实验思路连接两个STM32单片机的串口引脚,单片机A进行发送,单片机B进行接收。单片机B根据接收到单片机A的指令来点亮或熄灭板载LED灯,通过实验现象来验证是否通讯成功。二、实验器材两套STM32...

基于单片机的智能考勤机设计_基于51单片机的指纹考勤机

一、设计背景随着科技水平的不断发展,在这么一个信息化的时代,智能化信息处理已是提高效率、规范管理和客观审查的最有效途径。近几年来,国内很多公司都在加强对企业人员的管理,考勤作为企业的基础管理,是公司...

STM32单片机详细教学(二):STM32系列单片机的介绍

大家好,今天给大家介绍STM32系列单片机,文章末尾附有本毕业设计的论文和源码的获取方式,可进群免费领取。前言STM32系列芯片是为要求高性能、低成本、低功耗的嵌入式应用设计的ARMCortexM...

STM32单片机的 Hard-Fault 硬件错误问题追踪与分析

有过单片机开发经验的人应该都会遇到过硬件错误(Hard-Fault)的问题,对于这样的问题,有些问题比较容易查找,有些就查找起来很麻烦,甚至可能很久都找不到问题到底是出在哪里。特别是有时候出现一次,后...