Python函数之iterrows(),iteritems(),itertuples()的区别说明

Python函数之iterrows(),iteritems(),itertuples()的区别说明

在Python Pandas中,有三个常见的函数:iterrows(),iteritems(),itertuples(),它们都能够用来遍历数据帧(DataFrame),但是它们各有不同的使用方式和区别。在本篇攻略中,我们将通过例子展示这三个函数之间的区别和使用方式。

iterrows()

iterrows()函数通过将DataFrame的每一行转换成一个(索引, Series)对来遍历DataFrame,它将每行转换为一个元祖,可以很方便的对该行进行迭代。

下面是一个使用iterrows()函数遍历DataFrame的例子:

import pandas as pd

data = {'name': ['Alice', 'Bob', 'Cathy', 'David'], 'age': [25, 32, 18, 47]}
df = pd.DataFrame(data)

for index, row in df.iterrows():
    print(index, row['name'], row['age'])

输出结果:

0 Alice 25
1 Bob 32
2 Cathy 18
3 David 47

iteritems()

iteritems()函数是用来遍历DataFrame的列的,将DataFrame的每一列转换成一个(列名, Series)对。与iterrows()不同,该函数返回的是一列数据而不是一行。

下面是一个使用iteritems()函数遍历DataFrame列的例子:

import pandas as pd

data = {'name': ['Alice', 'Bob', 'Cathy', 'David'], 'age': [25, 32, 18, 47]}
df = pd.DataFrame(data)

for col, values in df.iteritems():
    print(col)
    print(values.tolist())

输出结果:

name
['Alice', 'Bob', 'Cathy', 'David']
age
[25, 32, 18, 47]

itertuples()

itertuples()函数通过将DataFrame的每一行转换成一个命名元组来遍历DataFrame,比使用iterrows()函数很快。命名元组可以像访问属性一样获取元素。

下面是一个使用itertuples()函数遍历DataFrame的例子:

import pandas as pd

data = {'name': ['Alice', 'Bob', 'Cathy', 'David'], 'age': [25, 32, 18, 47]}
df = pd.DataFrame(data)

for row in df.itertuples():
    print(row.Index, row.name, row.age)

输出结果:

0 Alice 25
1 Bob 32
2 Cathy 18
3 David 47

总结

  • iterrows():按行遍历DataFrame,并将每一行转换成一个(索引, Series)对。获取每个元素的方法是使用行号和列名。
  • iteritems():按列遍历DataFrame,并将每一列转换成一个(列名, Series)对。获取每个元素的方法是使用列名。
  • itertuples():按行遍历DataFrame,并将每一行转换成一个元组。获取每个元素的方法是使用属性名称和行号。

三个函数各有用处,具体要根据具体业务场景和需要来选择使用哪个函数。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python函数之iterrows(),iteritems(),itertuples()的区别说明 - Python技术站

(0)
上一篇 2023年5月14日
下一篇 2023年5月14日

相关文章

  • 如何在scrapy中捕获并处理各种异常

    Scrapy框架是一个爬虫框架,通过异步、并发的方式高效地运行爬虫程序。在爬取网站过程中,可能会遇到不同类型的异常,例如网络连接中断、http状态码错误和解析异常等,这些异常如果不及时处理,会导致爬虫程序中断或者无法正常工作。因此,Scrapy框架提供了一系列的异常处理方式,帮助用户处理各种异常。 捕获并处理异常 在Scrapy框架中,捕获和处理异常主要有如…

    python 2023年5月13日
    00
  • 基于Python实现一个简易的数据管理系统

    基于Python实现一个简易的数据管理系统 数据管理系统是一种用于管理和处理数据的软件系统。在本文中,我们将介绍如何使用Python实现一个简易的数据管理系统,包括如何创建数据库、添加、查询数据删除数据。 创建数据库 在Python中,可以使用SQLite3库来创建和管理数据库。SQLite3是一种轻量级的关系数据库,它可以在本地文件中存储数据。下面是一个示…

    python 2023年5月14日
    00
  • Python实现搭建-简单服务器教程

    Python动态服务器网页(需要使用WSGI接口),基本实现步骤如下:1.等待客户端的链接,服务器会收到一个http协议的请求数据报2.利用正则表达式对这个请求数据报进行解析(请求方式、提取出文件的环境)3.提取出文件的环境之后,利用截断取片的方法将文件名转化为模块名称4.使用m = __import__(),就可以得到返回值为m的模块5.创建一个env字典…

    python 2023年4月18日
    00
  • python爬取网易云音乐热歌榜实例代码

    下面是详细的攻略: Python爬取网易云音乐热歌榜实例代码 Python爬虫是一种常用的数据采集方式,可以帮助我们快速获取互联网上的各种数据。本文将手把手教你如何使用Python爬取网易云音乐热歌榜,并提供两个示例说明。 分析网页结构 在爬取网页之前,我们需要先分析网页的结构。可以使用Chrome浏览器的开发者工具进行分析。在打开网页后,我们可以按下F12…

    python 2023年5月14日
    00
  • python实现定制交互式命令行的方法

    实现定制交互式命令行,可以使用Python标准库中的cmd模块。下面是该过程的完整攻略: 步骤一:创建一个命令行解析器类 导入cmd模块 创建一个继承自cmd.Cmd的类,该类将作为命令行解析器 在该类中重写欢迎信息、提示符和默认的帮助信息的方法 示例代码: import cmd class MyCmd(cmd.Cmd): # 定义欢迎信息 def do_h…

    python 2023年6月2日
    00
  • Python3 shutil(高级文件操作模块)实例用法总结

    下面是详细讲解 “Python3 shutil(高级文件操作模块)实例用法总结”的攻略: 1. shutil模块简介 shutil是Python标准库中的一个高级文件操作模块,它在os模块的基础上进行了封装,并提供了更多的文件操作方法。它支持高层次的文件操作,例如复制、移动、删除文件和目录等等。 shutil模块中的函数主要有以下几种类型: 复制文件和目录函…

    python 2023年5月13日
    00
  • python定间隔取点(np.linspace)的实现

    Python定间隔取点(np.linspace)的实现 在Python中,我们可以使用NumPy库中的np.linspace函数来实现定间隔取点的操作。本文将详细介绍np.linspace函数的法和用法,并提供一些示例说明。 np.linspace函数的语法 np.linspace函数的语法如下: np.linspace(start, stop, num=5…

    python 2023年5月13日
    00
  • python数据挖掘Apriori算法实现关联分析

    Python数据挖掘中的Apriori算法是一种常用的关联分析算法,用于挖掘数据集中项之间的关联关系。下面是该算法的实现攻略。 1. 算法原理简介 Apriori算法是一种基于项集频繁度的挖掘算法,在数据集中找出频繁项集并进一步推导出项之间的关联规则。其基本思想是:一个集合中的任意非空子集都是频繁的,则该集合本身也是频繁的。 2. 算法步骤 Apriori算…

    python 2023年5月14日
    00
合作推广
合作推广
分享本页
返回顶部