在Python-Pandas中遍历数据框架组的攻略可以分为两种方法,一种是通过迭代器的方式,另一种是利用apply()方法。
方法一:迭代器方式
使用迭代器遍历数据框可以通过iterrows()和itertuples()方法实现。
iterrows()方法
iterrows()方法可以将数据框的每行作为一个元组返回,其中包含了每行的索引和值。下面是使用iterrows()方法遍历数据框的示例代码:
import pandas as pd
df = pd.DataFrame({'name':['Alice', 'Bob', 'Cathy'], 'age':[25, 30, 35], 'gender':['F', 'M', 'F']})
for index, row in df.iterrows():
print(index, row['name'], row['age'], row['gender'])
输出结果为:
0 Alice 25 F
1 Bob 30 M
2 Cathy 35 F
itertuples()方法
itertuples()方法可以将每个行元素作为一个最小的数据类型返回,可以通过它来遍历数据框的每一行。下面是使用itertuples()方法遍历数据框的示例代码:
import pandas as pd
df = pd.DataFrame({'name':['Alice', 'Bob', 'Cathy'], 'age':[25, 30, 35], 'gender':['F', 'M', 'F']})
for row in df.itertuples():
print(row.Index, row.name, row.age, row.gender)
输出结果为:
0 Alice 25 F
1 Bob 30 M
2 Cathy 35 F
方法二:apply()方法
apply()方法可以将一行或一列中的每个值作为一个单元迭代,可以在其中应用自定义或内置的函数。下面是使用apply()方法遍历数据框的示例代码:
import pandas as pd
df = pd.DataFrame({'name':['Alice', 'Bob', 'Cathy'], 'age':[25, 30, 35], 'gender':['F', 'M', 'F']})
df.apply(lambda row: print(row['name'], row['age'], row['gender']), axis=1)
如果不想输出每个值,而是将每行作为一个元组返回,则示例代码如下:
import pandas as pd
df = pd.DataFrame({'name':['Alice', 'Bob', 'Cathy'], 'age':[25, 30, 35], 'gender':['F', 'M', 'F']})
df.apply(lambda row: (row['name'], row['age'], row['gender']), axis=1)
输出结果为:
0 (Alice, 25, F)
1 (Bob, 30, M)
2 (Cathy, 35, F)
通过上述两种方法中的任意一种方法,您就可以遍历数据框中的每一行了。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:如何在Python-Pandas中遍历数据框架组 - Python技术站