df.iterrows() 是 Pandas 中的一个方法,用于在遍历 DataFrame 时,逐行返回每一行的索引和数据

df.iterrows() 是 Pandas 中的一个方法,用于在遍历 DataFrame 时,逐行返回每一行的索引和数据。它生成一个迭代器,每次迭代时返回一个 (index, Series) 对,index 是行索引,Series 是该行的数据。

详细解释

  • df.iterrows():
    • 这个方法遍历 DataFrame 的每一行。
    • 每次迭代时,返回的是 (index, Series),其中 index 是行的索引,Series 是表示行数据的 Pandas Series 对象。

示例

假设有一个 DataFrame df

import pandas as pd

data = {'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]}
df = pd.DataFrame(data)

 

这个 DataFrame 看起来像这样:

 ABC
0 1 4 7
1 2 5 8
2 3 6 9

如果使用 iterrows() 迭代:

for index, row in df.iterrows():
    print(index)
    print(row)

 

输出将是:

复制代码
0
A    1
B    4
C    7
Name: 0, dtype: int64

1
A    2
B    5
C    8
Name: 1, dtype: int64

2
A    3
B    6
C    9
Name: 2, dtype: int64
复制代码

 

作用总结

  • 遍历每一行iterrows() 允许你逐行遍历 DataFrame 的数据,非常适合需要逐行处理数据的情况。
  • 返回行索引和行数据:在每次迭代中,你会得到当前行的索引和一个包含该行数据的 Series 对象。
  • 灵活的数据操作:你可以在遍历过程中对行数据进行任何操作,例如数据处理、条件判断、存储等。

注意事项

  • iterrows() 的性能在处理大数据集时可能不如矢量化操作高效,因为它逐行遍历,不能充分利用 Pandas 的优化。
  • iterrows() 返回的是行的副本,而不是视图,对 row 的修改不会影响原始 DataFrame。

因此,df.iterrows() 适用于需要逐行处理数据的场景,但在可能的情况下,应该优先选择更高效的矢量化操作。

posted @   侬侬发  阅读(672)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示