当前位置: 首页 > news >正文

Python pandas遍历行数据的2种方法

背景

pandas在数据处理过程中,除了对整列字段进行处理之外,有时还需求对每一行进行遍历,来处理每行的数据。本篇文章介绍 2 种方法,来遍历pandas 的行数据

小编环境

import sysprint('python 版本:',sys.version.split('|')[0])   
#python 版本: 3.11.5import pandas as pdprint(pd.__version__)
#2.1.0

演示数据

演示数据

方法1

pandas.DataFrame.itertuples:返回的是一个命名元组
官方文档:https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.itertuples.html

1. 无任何参数

import pandas as pd
data=pd.read_excel("data.xlsx")for row in data.itertuples():print("row:",row,"\n")#row: Pandas(Index=0, 序号=1, 分割字符='1&1&1', 固定宽度='111') print("type(row):",type(row),"\n")#type(row): <class 'pandas.core.frame.Pandas'> print("row.序号:",row.序号)#row.序号: 1print("row.分割字符:",row.分割字符)#row.分割字符: 1&1&1print("row.固定宽度:",row.固定宽度)#row.固定宽度: 111break

2. 忽略掉索引

import pandas as pd
data=pd.read_excel("data.xlsx")for row in data.itertuples(index=False):  #忽律索引print("row:",row,"\n")#row: Pandas(序号=1, 分割字符='1&1&1', 固定宽度='111') print("type(row):",type(row),"\n")#type(row): <class 'pandas.core.frame.Pandas'> print("row.序号:",row.序号)#row.序号: 1print("row.分割字符:",row.分割字符)#row.分割字符: 1&1&1print("row.固定宽度:",row.固定宽度)#row.固定宽度: 111break

3. 对命名元组起别名

import pandas as pd
data=pd.read_excel("data.xlsx")for row in data.itertuples(index=False,name="data"):print("row:",row,"\n")#row: data(序号=1, 分割字符='1&1&1', 固定宽度='111')  print("type(row):",type(row),"\n")#type(row): <class 'pandas.core.frame.data'> print("row.序号:",row.序号)#row.序号: 1print("row.分割字符:",row.分割字符)#row.分割字符: 1&1&1print("row.固定宽度:",row.固定宽度)#row.固定宽度: 111break

方法2

pandas.DataFrame.iterrows:返回 (index, Series) 元组
官方文档:https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.iterrows.html

import pandas as pd
data=pd.read_excel("data.xlsx")for index,row in data.iterrows():print("index:",index,"\n")#index: 0print("row:",row,"\n")#row: 序号          1#分割字符    1&1&1#固定宽度      111#Name: 0, dtype: objectprint("type(row):",type(row),"\n")#type(row): <class 'pandas.core.series.Series'> print("row['序号']:",row['序号'])#row['序号']: 1print("row['分割字符']:",row['分割字符'])#row['分割字符']: 1&1&1print("row['固定宽度']:",row['固定宽度'])#row['固定宽度']: 111break

历史相关文章

  • Python 利用pandas对数据进行特定排序
  • Python pandas 2.0 初探
  • Python pandas.str.replace 不起作用
  • Python数据处理中 pd.concat 与 pd.merge 区别
  • 对比Excel,利用pandas进行数据分析各种用法

以上是自己实践中遇到的一些问题,分享出来供大家参考学习,欢迎关注微信公众号:DataShare ,不定期分享干货

http://www.lryc.cn/news/312098.html

相关文章:

  • Spring之@Transactional源码解析
  • 第三届国际亲子游泳学术峰会,麒小佑为亲游行业提供健康解决方案
  • Python光速入门 - Flask轻量级框架
  • C/C++ 说说引用这玩仍是干啥的
  • swoole
  • kubectl基础命令详解
  • collection的遍历方式
  • SpringBoot中@Async使用注意事项
  • IEEE 802.11 RTS/CTS/BA/Management
  • 【风格迁移】对比度保持连贯性损失 CCPL:解决图像局部失真、视频帧间的连贯性和闪烁
  • 【C++】贪心算法
  • 记一次dockerfile无法构建问题追溯
  • React使用 useImperativeHandle 自定义暴露给父组件的实例方法(包括依赖)
  • yolov5v7v8目标检测增加计数功能--免费源码
  • JPA常见异常 JPA可能抛出的异常
  • Dockerfile的艺术:构建高效容器镜像的指令详解与实战指南
  • 软件开发项目管理中各角色职责介绍
  • 将时间转换为 `刚刚`、`几秒前`、`几分钟前`、`几小时前`、`几天前`、几月前或按照传入格式显示
  • Oracle存储过程干货(二):PLSQL控制语句
  • 深入Gradle:初识构建自动化的魅力
  • cpp版ros2、opencv转换
  • 使用API接口竞品价格监控
  • Redis的BitMap的使用
  • 视频号带货究竟怎么做?老阳分享的项目怎么样?
  • AI智能分析网关V4智慧环保/智慧垃圾站视频智能分析与监控方案
  • vxe-table编辑单元格动态插槽slot的使用
  • 2024新鲜出炉阿里巴巴面试真题,如果不想35岁被淘汰这篇文章必看
  • 设计模式(含7大原则)面试题
  • claude3科普
  • 2024中国·北京预制菜产业博览会