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

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

Barbara Streisand
Barbara Streisand原创
2024-12-23 20:37:11291浏览

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

迭代 Pandas DataFrame 中的行

迭代 Pandas DataFrame 中的行允许您访问各个行及其元素。为了实现这一点,Pandas 提供了两种常用的方法:DataFrame.iterrows 和 DataFrame.T.iteritems()。

DataFrame.iterrows:

DataFrame.iterrows 是一个生成器,生成行的索引和表示为 Pandas Series 的行本身。以下代码片段演示了其用法:

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'])

这将输出:

10 100
11 110
12 120

DataFrame.T.iteritems():

DataFrame.T.iteritems() 迭代 DataFrame 的列。使用 .T 和 .iteritems() 转置 DataFrame 会生成列名和行作为 Series。请注意,这种方法通常比 iterrows 效率低:

for column_name, row in df.T.iteritems():
    print(column_name, row['c1'], row['c2'])

这将输出:

c1 10 11 12
c2 100 110 120

性能注意事项:

迭代pandas 对象通常比矢量化操作或使用 apply() 方法的函数应用程序慢。如果性能至关重要,请考虑使用 cython 或 numba 来增强迭代操作的性能。

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

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