📜  Python Pandas-迭代(1)

📅  最后修改于: 2023-12-03 14:46:02.038000             🧑  作者: Mango

Python Pandas-迭代

Pandas是Python中一个强大的数据分析库,它提供了高效的数据结构和数据分析工具,支持各种文件格式的数据读取与操作。而迭代指的是对于Pandas数据类型中的每个元素进行遍历操作,本文将为大家介绍Pandas数据类型的迭代方法。

Pandas数据类型

Pandas主要的数据类型包括Series和DataFrame两种,其中Series是一种类似于一维数组的对象,它可以存储任意类型的数据并带有标签索引。而DataFrame则是一种表格型数据结构,它包含了有序的列集合,每一列可以是不同的数据类型,支持各种行列操作。

Pandas迭代

在Pandas中,对于Series和DataFrame对象的元素都可以通过迭代方法进行遍历操作。迭代方法主要包括iterrows()和itertuples()两种方法。

iterrows()

iterrows()方法返回一个迭代器,通过该迭代器可以依次获取DataFrame对象的每一行。每一次迭代会返回一个包含该行数据的元组对象,其中元组的第一个元素是该行的索引值,第二个元素是该行数据的Series对象。

import pandas as pd

df = pd.DataFrame({'name': ['Peter', 'John', 'Mary'], 'age': [25, 30, 28]})
for index, row in df.iterrows():
    print(index, row['name'], row['age'])

# 输出结果
# 0 Peter 25
# 1 John 30
# 2 Mary 28
itertuples()

与iterrows()方法类似,itertuples()方法也返回一个迭代器,但是每一次迭代返回的是一个包含该行数据的命名元组对象,它的命名属性分别对应DataFrame对象的列名称。

import pandas as pd

df = pd.DataFrame({'name': ['Peter', 'John', 'Mary'], 'age': [25, 30, 28]})
for row in df.itertuples():
    print(row.Index, row.name, row.age)

# 输出结果
# 0 Peter 25
# 1 John 30
# 2 Mary 28
总结

通过以上介绍可以看出,Pandas提供了iterrows()和itertuples()两种迭代方法,可以便捷地遍历DataFrame对象中的元素。对于大规模的数据遍历操作,Pandas内置的迭代方法效率较低,可以考虑使用更为高效的向量化操作或者使用apply()方法。