DataFrame.iterrows(self) [source]
将DataFrame行作为(索引,Series)对进行迭代。
| Yields: | index : 标签或标签元组 行的索引。 data :  行的数据为 it : generator 遍历框架行的生成器。 | 
Notes
1)基础使用
import pandas as pd
# 创建一个简单的 DataFrame
df = pd.DataFrame({
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Age': [25, 30, 35],
    'City': ['New York', 'Los Angeles', 'Chicago']
})
# 使用 iterrows() 逐行遍历 DataFrame
for index, row in df.iterrows():
    print(f"Index: {index}, Name: {row['Name']}")
    print(F"Age: {row['Age']}, City: {row['City']}")2)修改 DataFrame 中的值
import pandas as pd
# 创建一个简单的 DataFrame
df = pd.DataFrame({
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Age': [25, 30, 35],
    'City': ['New York', 'Los Angeles', 'Chicago']
})
# 使用 iterrows() 逐行遍历并修改年龄
for index, row in df.iterrows():
    df.at[index, 'Age'] = row['Age'] + 1  # 将每个人的年龄加 1
print(df)3)条件过滤与修改
import pandas as pd
# 创建一个简单的 DataFrame
df = pd.DataFrame({
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Age': [25, 30, 35],
    'City': ['New York', 'Los Angeles', 'Chicago']
})
# 使用 iterrows() 逐行遍历并修改
for index, row in df.iterrows():
    if row['City'] == 'New York':
        # 如果城市是 'New York',设置年龄为 40
        df.at[index, 'Age'] = 40  
print(df)注意:
1)性能问题
iterrows() 的效率比较低,因为它每次返回一个 Series 对象。如果需要高效的处理数据,建议避免使用 iterrows(),可以考虑使用 apply() 或者矢量化操作,这些方法通常更快。
2)数据类型
在使用 iterrows() 时,返回的每一行是一个 Series 对象,这意味着你不能直接修改原 DataFrame 中的值(除非通过 .at[] 或 .iat[])。
3)不推荐用于大数据集
如果 DataFrame 很大,iterrows() 会非常慢。在这种情况下,尽量避免逐行遍历,尝试使用矢量化方法。