首页 >后端开发 >Python教程 >如何有效地迭代 Pandas DataFrame 中的行?

如何有效地迭代 Pandas DataFrame 中的行?

Susan Sarandon
Susan Sarandon原创
2024-12-27 16:12:10829浏览

How Do I Efficiently Iterate Over Rows in a Pandas DataFrame?

迭代 Pandas DataFrame 中的行

在 Pandas 中处理数据时,一项常见任务是迭代 DataFrame 的行。这允许您单独访问每一行的元素。

如何使用 iterrows() 进行迭代

迭代行的首选方法是使用 DataFrame.iterrows( ) 方法。此方法为每行生成一个元组,其中包含索引和作为系列的行。

df = pd.DataFrame({'c1': [10, 11, 12], 'c2': [100, 110, 120]})

for index, row in df.iterrows():
    print(row['c1'], row['c2'])

这将输出:

10 100
11 110
12 120

行对象的工作原理

行对象是表示行数据的 Pandas Series。您可以通过列名或索引来访问其元素。

iterrows() 的替代方法

您可以使用其他方法来迭代行,但它们通常效率较低。

  • DataFrame.itertuples() 生成一个namedtuple 而不是系列。
  • DataFrame.T.iteritems() 迭代列而不是行。

性能注意事项

迭代行DataFrame 的计算成本可能很高。如果性能是一个问题,请考虑使用矢量化解决方案或使用 Cython 或 NumPy 编写内部循环。

以上是如何有效地迭代 Pandas DataFrame 中的行?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn