- iterrows()
- 概述:iterrows()函数可以迭代DataFrame的每一行,每次循环返回一个元组,第一项是行的索引,第二项是Series对象。
- 适用情况:当需要逐行迭代DataFrame,并根据每一行数据进行处理时,可以使用iterrows()函数。
示例:
import pandas as pd
df = pd.DataFrame({'name': ['Tom', 'Jerry', 'Mike'], 'age': [25, 30, 28]})
for index, row in df.iterrows():
print(index, row["name"], row["age"])
输出:
0 Tom 25
1 Jerry 30
2 Mike 28
- iteritems()
- 概述:iteritems()函数可以迭代DataFrame的每一列,每次循环返回一个元组,第一项是列的名称,第二项是Series对象。
- 适用情况:当需要逐列迭代DataFrame,并根据每一列数据进行处理时,可以使用iteritems()函数。
示例:
import pandas as pd
df = pd.DataFrame({'name': ['Tom', 'Jerry', 'Mike'], 'age': [25, 30, 28]})
for col_name, col_data in df.iteritems():
print(col_name, col_data.sum())
输出:
name TomJerryMike
age 83
- itertuples()
- 概述:itertuples()函数可以迭代DataFrame的每一行,每次循环返回一个命名元组,元组的字段名对应DataFrame的列名,元组的值对应DataFrame的每一行数据。
- 适用情况:当需要逐行迭代DataFrame,并且需要同时获取行的索引和每一列的数据时,可以使用itertuples()函数。
示例:
import pandas as pd
df = pd.DataFrame({'name': ['Tom', 'Jerry', 'Mike'], 'age': [25, 30, 28]})
for row in df.itertuples():
print(row.Index, row.name, row.age)
输出:
0 Tom 25
1 Jerry 30
2 Mike 28
结论:
– iterrows()适用于需要逐行迭代DataFrame的场景,并且需要获取每一行数据的具体值,效率较低。
– iteritems()适用于需要逐列迭代DataFrame的场景,并且需要获取每一列数据的具体值,效率较低。
– itertuples()适用于需要逐行迭代DataFrame的场景,并且需要同时获取行的索引和每一列的数据,效率较高。