Python pandas遍历行数据的两种方法详解

背景

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

小编环境

import sys  
  
print('python 版本:',sys.version.split('|')[0])     
#python 版本:3.11.5  
  
import pandas as pd  
  
print(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.序号: 1  
  
    print("row.分割字符:",row.分割字符)  
    #row.分割字符: 1&1&1  
  
    print("row.固定宽度:",row.固定宽度)  
    #row.固定宽度: 111  
  
    break  

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.序号: 1  
  
    print("row.分割字符:",row.分割字符)  
    #row.分割字符: 1&1&1  
  
    print("row.固定宽度:",row.固定宽度)  
    #row.固定宽度: 111  
  
    break  

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.序号: 1  
  
    print("row.分割字符:",row.分割字符)  
    #row.分割字符: 1&1&1  
  
    print("row.固定宽度:",row.固定宽度)  
    #row.固定宽度: 111  
  
    break  

方法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: 0  
  
    print("row:",row,"\n")  
    #row: 序号          1  
    #分割字符    1&1&1  
    #固定宽度      111  
    #Name: 0, dtype: object  
  
    print("type(row):",type(row),"\n")  
    #type(row): <class 'pandas.core.series.Series'>   
  
    print("row['序号']:",row['序号'])  
    #row['序号']: 1  
  
    print("row['分割字符']:",row['分割字符'])  
    #row['分割字符']: 1&1&1  
  
    print("row['固定宽度']:",row['固定宽度'])  
    #row['固定宽度']: 111  
  
    break  

点击下方安全链接前往获取

CSDN大礼包:《Python入门&进阶学习资源包》免费分享

👉Python实战案例👈

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

图片

图片

👉Python书籍和视频合集👈

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

图片

👉Python副业创收路线👈

图片

这些资料都是非常不错的,朋友们如果有需要《Python学习路线&学习资料》,点击下方安全链接前往获取

CSDN大礼包:《Python入门&进阶学习资源包》免费分享

本文转自网络,如有侵权,请联系删除。

物联沃分享整理
物联沃-IOTWORD物联网 » Python pandas遍历行数据的两种方法详解

发表回复