Skip to content

如何在 Pandas 中遍历 DataFrame 的行

Posted on:2024年7月27日 at 13:04

在数据分析和处理过程中,Pandas库是一个非常强大的工具。然而,对于新手来说,如何有效地遍历DataFrame的行常常是一个常见的问题。本文将详细介绍几种在Pandas中遍历DataFrame行的方法,并讨论每种方法的优缺点。

使用iterrows()

最常见的方法之一是使用DataFrame.iterrows(),它返回一个生成器,可以生成索引和行数据:

import pandas as pd

df = pd.DataFrame({'c1': [10, 11, 12], 'c2': [100, 110, 120]})
for index, row in df.iterrows():
    print(row['c1'], row['c2'])

优点

缺点

使用itertuples()

另一个高效的方法是使用DataFrame.itertuples(),它返回一个命名元组:

for row in df.itertuples(index=True, name='Pandas'):
    print(row.c1, row.c2)

优点

缺点

避免遍历:向量化操作

尽可能避免遍历,使用向量化操作可以显著提高性能。Pandas和NumPy提供了丰富的向量化方法:

df['c3'] = df['c1'] + df['c2']

优点

缺点

使用apply()方法

当需要对每一行进行复杂操作时,可以考虑使用apply()方法:

df['c3'] = df.apply(lambda row: row['c1'] + row['c2'], axis=1)

优点

缺点

结论

在Pandas中遍历DataFrame的行有多种方法,选择适合的方法取决于具体的使用场景和性能需求。一般来说,应该尽量避免遍历,而优先考虑向量化操作和apply()方法,以提高代码的效率和可读性。

希望本文能帮助你更好地理解和使用Pandas进行数据处理。如果你有任何问题或建议,欢迎在评论区留言!