pandas实现按行遍历dataframe的方法(itertuples,iterrows)

 更新时间:2023年08月25日 11:25:02   作者:ALittleHigh  
本文主要介绍了pandas实现按行遍历dataframe的方法,主要介绍了两种itertuples,iterrows,具有一定的参考价值,感兴趣的可以了解一下

1. 以命名元组的形式遍历DataFrame行

pandas.DataFrame.itertuples

DataFrame.itertuples(index=True, name='Pandas')

关键字参数:index

默认为True,所需为布尔值。当值为True时,将索引作为元组的第一个元素返回。

关键字参数:name

默认为“Pandas”,所需为字符串或None。命名返回的元组的名称,当为None时,返回普通元组。

返回:iterator

迭代器:用于返回DataFrame每行形成的命名元组,命名元组的第一个字段可能是索引,其余字段是列值。

tips:当列名是无效的Python标识符、或重复值、或以下划线开头时,该列名会以当前位置重命名。

示例:简单使用itertuples,不设置index和name

>>> df = pd.DataFrame({'num_legs': [4, 2], 'num_wings': [0, 2]},
...                   index=['dog', 'hawk'])
>>> df
      num_legs  num_wings
dog          4          0
hawk         2          2
>>> for row in df.itertuples():
...     print(row)
...
Pandas(Index='dog', num_legs=4, num_wings=0)
Pandas(Index='hawk', num_legs=2, num_wings=2)

示例:设置index=False以取消索引为首个字段

>>> for row in df.itertuples(index=False):
...     print(row)
...
Pandas(num_legs=4, num_wings=0)
Pandas(num_legs=2, num_wings=2)

示例:自定义元组名称

>>> for row in df.itertuples(name='Animal'):
...     print(row)
...
Animal(Index='dog', num_legs=4, num_wings=0)
Animal(Index='hawk', num_legs=2, num_wings=2)

2. 以 (index, Series) 对的形式遍历 DataFrame行

pandas.DataFrame.iterrows

返回:index

标签或标签元组。即行索引或多维索引元组。

返回:Series

以Series形式展示该行的数据。

示例:直接使用iterrows

由于 iterrows 会为每一行返回一个 Series,因此不会跨行保留 dtypes(DataFrames 的 dtypes 会跨列保留)。

>>> df = pd.DataFrame([[1, 1.5]], columns=['int', 'float'])
>>> row = next(df.iterrows())[1]
>>> row
int      1.0
float    1.5
Name: 0, dtype: float64
>>> print(row['int'].dtype)
float64
>>> print(df['int'].dtype)
int64

为了在遍历行时保留 dtypes,最好使用 itertuples(),它返回值的命名元组,通常比 iterrows 更快。

tips:永远不要修改正在迭代的内容。这并不能保证在所有情况下都有效。根据数据类型的不同,迭代器返回的是副本而不是视图,对其写入不会有任何影响。

到此这篇关于pandas实现按行遍历dataframe的方法(itertuples,iterrows)的文章就介绍到这了,更多相关pandas 按行遍历dataframe内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 利用Python第三方库xlwt写入数据到Excel工作表实例代码

    利用Python第三方库xlwt写入数据到Excel工作表实例代码

    大家应该都知道xlwt是python中写入到excel的库,下面这篇文章主要给大家介绍了关于利用Python第三方库xlwt写入数据到Excel工作表的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-07-07
  • python爬虫容易学吗

    python爬虫容易学吗

    在本篇文章里,小编给大家分享的是一篇关于python爬虫是否容易学的相关知识点内容,有兴趣的朋友们可以阅读下。
    2020-06-06
  • Python生成器的使用方法和示例代码

    Python生成器的使用方法和示例代码

    今天小编就为大家分享一篇关于Python生成器的使用方法和示例代码,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • python将字符串转换成数组的方法

    python将字符串转换成数组的方法

    这篇文章主要介绍了python将字符串转换成数组的方法,涉及Python操作字符串与数组的相关技巧,非常具有实用价值,需要的朋友可以参考下
    2015-04-04
  • 如何用python批量发送工资条邮件

    如何用python批量发送工资条邮件

    大家好,本篇文章主要讲的是如何用python批量发送工资条邮件,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-01-01
  • Python模拟钢琴键盘实现演奏数鸭子歌曲

    Python模拟钢琴键盘实现演奏数鸭子歌曲

    前几天上课老师给我们讲了两个模块,然后利用这两个模块来模拟钢琴键盘去简单地演奏《数鸭子》今天来分享给大家,感兴趣的可以了解一下
    2022-11-11
  • 一文带你深入探究Python Collections模块

    一文带你深入探究Python Collections模块

    Python中Collections模块实现了一些专门化的容器,提供了对 Python 的通用内建容器 dict、list、set 和 tuple 的补充,下面我们就来了解一下它的具体用法吧
    2023-11-11
  • 如何使用python传入不确定个数参数

    如何使用python传入不确定个数参数

    这篇文章主要介绍了如何使用python传入不确定个数参数,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02
  • 深度解析Python中的情感分析与情绪识别

    深度解析Python中的情感分析与情绪识别

    在当今数字化时代,情感分析与情绪识别技术日益成为人机交互,社交媒体分析,智能客服等领域的重要应用,下面我们就来深入聊聊基于Python的情感分析与情绪识别技术吧
    2025-03-03
  • Python解压zip文件名乱码问题的具体分析和解决方案

    Python解压zip文件名乱码问题的具体分析和解决方案

    使用Python处理含有中文文件名的压缩文件时,这些中文文件名会出现乱码,今天我们就来看一下如何来解决这个乱码的问题,以下是具体分析和解决方案,需要的朋友可以参考下
    2025-09-09

最新评论