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生产力的五个Jupyter notebook插件

    提高Python生产力的五个Jupyter notebook插件

    Jupyter Notebook 因其可用性和实用性而成为数据分析和机器学习模型领域最流行的 IDE,它也是很多数据初学者的首选 IDE。它最具特色的是,拥有丰富的插件、扩展数据处理能力和提升工作效率
    2021-11-11
  • Python高阶函数与装饰器函数的深入讲解

    Python高阶函数与装饰器函数的深入讲解

    这篇文章主要给大家介绍了关于Python高阶函数与装饰器函数的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • Python爬虫程序中使用生产者与消费者模式时进程过早退出的问题

    Python爬虫程序中使用生产者与消费者模式时进程过早退出的问题

    本文主要介绍了Python爬虫程序中使用生产者与消费者模式时进程过早退出的问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • Python 框架 FastAPI详解

    Python 框架 FastAPI详解

    FastAPI 是一个现代、快速且高性能的 Web 框架,用于 Python 3.6+,基于 Python 类型提示构建 API,它通过 Starlette 和 Pydantic 优化,支持多种 HTTP 方法、异步编程、数据验证和自动生成交互式文档,FastAPI 适合快速开发高性能、可扩展的 Web 服务
    2024-11-11
  • Python使用psycopg2连接PostgreSQL数据库的步骤

    Python使用psycopg2连接PostgreSQL数据库的步骤

    PostgreSQL 是一个广泛使用的开源对象关系数据库系统,以其强大的功能和灵活性而闻名,Python,作为一种流行的编程语言,提供了多种方式与数据库交互,其中 psycopg2 是连接 PostgreSQL 数据库的流行选择之一,本文介绍了Python使用psycopg2连接PostgreSQL数据库的步骤
    2024-12-12
  • Python中函数的各种类型参数解读

    Python中函数的各种类型参数解读

    这篇文章主要介绍了Python中函数的各种类型参数用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • Python中__init__的用法和理解示例详解

    Python中__init__的用法和理解示例详解

    在Python中定义类经常会用到__init__函数(方法),首先需要理解的是,两个下划线开头的函数是声明该属性为私有,不能在类的外部被使用或访问,从文字理解比较困难,下面通过示例代码帮助大家理解__init__在python中用法,感兴趣的朋友一起看看吧
    2023-02-02
  • Python 详解基本语法_函数_返回值

    Python 详解基本语法_函数_返回值

    这篇文章主要介绍了Python 详解基本语法_函数_返回值的相关资料,需要的朋友可以参考下
    2017-01-01
  • 使用Python脚本在Linux下实现部分Bash Shell的教程

    使用Python脚本在Linux下实现部分Bash Shell的教程

    这篇文章主要介绍了使用Python脚本在Linux下实现部分Bash Shell的教程,包括一些简单的输入输出和邮件功能,需要的朋友可以参考下
    2015-04-04
  • python标准库中inspect模块的简单说明

    python标准库中inspect模块的简单说明

    这篇文章主要介绍了python标准库中inspect模块的简单介绍,inspect模块提供了几个有用的函数来帮助获取有关活动对象的信息,例如模块,类,方法,函数,回溯,框架对象和代码对象,需要的朋友可以参考下
    2023-08-08

最新评论