Pandas 如何行遍历DataFrame

Pandas 如何行遍历DataFrame

在本文中,我们将介绍如何通过使用Pandas在DataFrame中行遍历数据。在实际场景中,有时候需要遍历DataFrame中的每一行来执行某些操作,例如数据清洗和转换。

阅读更多:Pandas 教程

方法一:iterrows(逐行迭代)

iterrows() 方法可以按行迭代DataFrame。该方法返回两个值,分别是行索引和行数据,我们可以通过解包操作来获取它们。然后我们可以使用for循环来遍历每一行数据。

示例:

import pandas as pd

# 创建数据
data = {"Name": ["Tom", "Jerry", "Peter"], "Age": [23, 25, 27], "Gender": ["Male", "Female", "Male"]}
df = pd.DataFrame(data)

# 遍历数据
for index, row in df.iterrows():
    print(row["Name"], row["Age"], row["Gender"])

输出结果:

Tom 23 Male
Jerry 25 Female
Peter 27 Male

方法二:itertuples(逐行遍历元组)

itertuples() 方法可以按行迭代DataFrame。该方法返回一个命名元组,其中第一个元素是行索引,后面的元素是行数据。这种方式比使用iterrows()方法更高效。

示例:

import pandas as pd

# 创建数据
data = {"Name": ["Tom", "Jerry", "Peter"], "Age": [23, 25, 27], "Gender": ["Male", "Female", "Male"]}
df = pd.DataFrame(data)

# 遍历数据
for row in df.itertuples():
    print(row.Name, row.Age, row.Gender)

输出结果:

Tom 23 Male
Jerry 25 Female
Peter 27 Male

方法三:apply(逐行应用函数)

apply() 方法可以用于按行应用函数,这种方式相对于逐行迭代的方式更加高效。我们可以通过设置axis参数来控制按行还是按列应用函数。

示例:

import pandas as pd

# 创建数据
data = {"Name": ["Tom", "Jerry", "Peter"], "Age": [23, 25, 27], "Gender": ["Male", "Female", "Male"]}
df = pd.DataFrame(data)

# 定义函数
def print_row(row):
    print(row["Name"], row["Age"], row["Gender"])

# 按行应用函数
df.apply(print_row, axis=1)

输出结果:

Tom 23 Male
Jerry 25 Female
Peter 27 Male

总结

在本文中,我们介绍了三种方法来行遍历Pandas DataFrame数据。iterrows() 和 itertuples() 是逐行迭代的方式,而 apply() 则是逐行应用函数的方式。在实际应用中,我们需要根据具体场景来选择最合适的方法。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程