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

yizhihongxing

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日

相关文章

  • python 实现图片修复(可用于去水印)

    当我们想要去除一张图片上的水印时,常见的做法是使用 Adobe Photoshop 等专业软件进行处理,然而这些软件通常价格昂贵,且需要具备一定的技能水平。而现在,我们可以使用 Python 来实现图像修复,从而达到去除水印的效果。 原理 该方法使用了图像处理中的一个常见手段,即基于图像中像素值的插值算法。简单来说,我们可以通过分析图片的像素,间隙来估算丢失…

    python 2023年5月18日
    00
  • python通过字典dict判断指定键值是否存在的方法

    要通过字典dict来判断指定键值是否存在,可以通过以下方法: 使用in关键字 使用in关键字可以非常方便地判断一个字典dict中是否存在指定键值,代码如下: my_dict = {‘name’: ‘Tom’, ‘age’: 18, ‘gender’: ‘male’} if ‘name’ in my_dict: print(‘name键值存在’) else: …

    python 2023年5月13日
    00
  • Python 字典中的所有方法及用法

    Python字典中的所有方法及用法 Python中的字典(Dict)是一种非常实用的数据类型,类似于JavaScript的对象(Object)。字典是一组键(key)和值(value)的集合,可以通过键来快速查找对应的值。在Python中,字典使用花括号{}表示,key和value之间使用冒号:分隔,多个键值对之间使用逗号,分隔,例如: my_dict = …

    python 2023年5月13日
    00
  • Python基础入门之seed()方法的使用

    Python基础入门之seed()方法的使用 在Python中,random模块可以用来生成随机数。seed()方法是random模块中的一个函数,通过传入一个种子值,它可以确定随机数生成器的初始状态,从而使得随机数的序列在不同的计算机上表现一致,这在一些场合下有着重要的作用。 seed()方法的使用 在使用seed()方法之前,需要导入random模块: …

    python 2023年6月3日
    00
  • Python加载文件内容的两种实现方式

    当我们需要在Python代码中加载文件内容时,通常有两种方法来实现。 1. 使用with语句读取文件 使用with语句读取文件是一种常用的方法,它可以保证在读取文件结束后,文件会被自动关闭。具体步骤如下: with open(‘sample.txt’, ‘r’) as f: content = f.read() print(content) 上面的代码中,我…

    python 2023年6月3日
    00
  • Python之parser.add_argument解读

    Python中的argparse模块是用于解析命令行参数和选项的标准模块。add_argument方法是argparse.ArgumentParser类中的一个方法,用于向该类中添加命令行选项和参数。 1. add_argument方法的基本用法 add_argument方法的基本用法如下: parser.add_argument(‘name’, actio…

    python 2023年6月3日
    00
  • python错误:AttributeError: ‘module’ object has no attribute ‘setdefaultencoding’问题的解决方法

    当使用Python 2.x版本时,可能会出现”AttributeError: ‘module’ object has no attribute ‘setdefaultencoding'”错误。这是由于Python 2.x中默认的字符集编码是ASCII,而Python 3.x中默认的字符集编码是UTF-8。 解决方法一:在代码文件的开头添加以下内容: impo…

    python 2023年6月3日
    00
  • 详解如何在Python中做Hash加密

    在Python中进行Hash加密可以使用内置的hashlib模块,该模块提供了多种Hash算法,我们可以根据需要选择使用的算法进行加密。 下面是具体操作步骤: 导入hashlib模块 import hashlib 使用hashlib模块中的函数进行加密 对于任何需要加密的数据,我们首先需要将其编码为二进制形式,然后使用hashlib模块中的相应函数对其进行加…

    python-answer 2023年3月25日
    00
合作推广
合作推广
分享本页
返回顶部