Pandas Dataframe数据帧的迭代之iterrows(),itertuples(),items()详解

 更新时间:2025年04月16日 09:17:53   作者:YH美洲大蠊  
这篇文章主要介绍了Pandas Dataframe数据帧的迭代之iterrows(),itertuples(),items()使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

Pandas Dataframe数据帧的迭代

迭代数据帧通常不是推荐的做法,因为 pandas 的设计初衷是向量化操作以提高效率。然而,在某些情况下,也可能需要逐行或逐列迭代数据。

需要注意的是,迭代数据帧的行或列可能会导致性能下降,特别是对于大型数据集。在可能的情况下,最好使用向量化操作来提高效率。

迭代行

1.使用 .iterrows()

  • .iterrows() 是一个生成器,它迭代数据帧的索引和行。
  • 对于每一行,它返回一个包含索引和该行数据的元组。
import pandas as pd  

df = pd.DataFrame({  
    'A': [1, 2, 3],  
    'B': [4, 5, 6],  
    'C': [7, 8, 9]  
})  

for index, row in df.iterrows():  
    print(f"Index: {index}")  
    print(row)  

2.使用 .itertuples()

  • .itertuples() 方法比 .iterrows() 更快,因为它返回命名元组,这些元组在Python中的性能优于字典。
  • 返回的元组的第一个元素是行的索引,其余元素是行中的数据。
  • .itertuples() 返回的是命名元组,可以通过属性名称访问这些元素,例如 row.Arow.B 等。
import pandas as pd  

df = pd.DataFrame({  
    'A': [10, 20, 30],  
    'B': [40, 50, 60],  
    'C': ['p', 'q', 'r']  
})  
  
for row in df.itertuples():  
    print(row)

'''
Pandas(Index=0, A=10, B=40, C='p')  
Pandas(Index=1, A=20, B=50, C='q')  
Pandas(Index=2, A=30, B=60, C='r')'''

迭代列

迭代列通常更简单,因为可以直接迭代数据帧的列名或访问列数据。

import pandas as pd  
  
# 创建一个DataFrame  
df = pd.DataFrame({  
    'A': [1, 2, 3],  
    'B': [4, 5, 6],  
    'C': [7, 8, 9]  
})  
  
# 方法1: 迭代列名  
for column in df.columns:  
    print(f"Column Name: {column}")  
    # 通过列名访问列数据  
    print(df[column])   
  
# 方法2: 直接迭代DataFrame对象(默认迭代列名)  
for column in df:  
    print(f"Column Name: {column}")  
    print(df[column])  
  
# 方法3: 使用df.items()同时迭代列名和数据  
for column, data in df.items():  
    print(f"Column Name: {column}")  
    # data变量直接包含列数据,无需通过df[column]访问  
    print(data)  

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Python3中的2to3转换工具使用示例

    Python3中的2to3转换工具使用示例

    这篇文章主要介绍了Python3中的2to3转换工具使用示例,本文详细讲解了使用的步骤,并总结了一些使用注意事项,需要的朋友可以参考下
    2015-06-06
  • python计算一个序列的平均值的方法

    python计算一个序列的平均值的方法

    这篇文章主要介绍了python计算一个序列的平均值的方法,涉及Python递归遍历与数学计算的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • 一文带你掌握Pyecharts地理数据可视化的方法

    一文带你掌握Pyecharts地理数据可视化的方法

    这篇文章主要介绍了一文带你掌握Pyecharts地理数据可视化的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • python函数的高级应用详解

    python函数的高级应用详解

    这篇文章主要为大家介绍了python函数的高级应用,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2021-11-11
  • python使用邻接矩阵构造图代码示例

    python使用邻接矩阵构造图代码示例

    这篇文章主要介绍了python使用邻接矩阵构造图代码示例,具有一定参考价值,需要的朋友可以了解下。
    2017-11-11
  • python实现一般游戏的自动点击具体操作

    python实现一般游戏的自动点击具体操作

    这篇文章主要介绍了python实现一般游戏的自动点击,本文给大家分享具体操作代码及需要的软件,需要的朋友可以参考下
    2021-10-10
  • Python中几种属性访问的区别与用法详解

    Python中几种属性访问的区别与用法详解

    这篇文章主要给大家介绍了关于Python中几种属性访问的区别和用法的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-10-10
  • keras建模的3种方式详解

    keras建模的3种方式详解

    这篇文章主要介绍了keras建模的3种方式详解,keras是Google公司于2016年发布的以tensorflow为后端的用于深度学习网络训练的高阶API,因接口设计非常人性化,深受程序员的喜爱,需要的朋友可以参考下
    2023-08-08
  • Python3.7中安装openCV库的方法

    Python3.7中安装openCV库的方法

    这篇文章主要介绍了Python3.7中安装openCV库的方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-07-07
  • Python KMeans聚类问题分析

    Python KMeans聚类问题分析

    这篇文章主要为大家详细介绍了Python KMeans聚类问题,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-02-02

最新评论