如何遍历 Pandas Dataframe 中的行
Python是一种用于进行数据分析的出色语言,主要是因为以数据为中心的Python包的奇妙生态系统。 Pandas就是其中之一,它使导入和分析数据变得更加容易。
让我们看看如何使用 iterrows() 和 itertuples() 遍历 Pandas Dataframe 中的行:
方法 #1:使用 DataFrame.iterrows() 方法
此方法以 (index, series) 对的形式迭代行。
Python3
# importing pandas
import pandas as pd
# list of dicts
input_df = [{'name':'Sujeet', 'age':10},
{'name':'Sameer', 'age':11},
{'name':'Sumit', 'age':12}]
df = pd.DataFrame(input_df)
print('Original DataFrame: \n', df)
print('\nRows iterated using iterrows() : ')
for index, row in df.iterrows():
print(row['name'], row['age'])
Python3
# importing pandas
import pandas as pd
# list of dicts
input_df = [{'name':'Sujeet', 'age':10},
{'name':'Sameer', 'age':110},
{'name':'Sumit', 'age':120}]
df = pd.DataFrame(input_df)
print('Original DataFrame: \n', df)
print('\nRows iterated using itertuples() : ')
for row in df.itertuples():
print(getattr(row, 'name'), getattr(row, 'age'))
输出:
Original DataFrame:
age name
0 10 Sujeet
1 11 Sameer
2 12 Sumit
Rows iterated using iterrows() :
Sujeet 10
Sameer 11
Sumit 12
方法 #2:使用 DataFrame.itertuples() 方法
此方法为每一行返回一个命名元组。 getattr()函数可用于获取返回元组中的行属性。此方法比方法#1 更快。
Python3
# importing pandas
import pandas as pd
# list of dicts
input_df = [{'name':'Sujeet', 'age':10},
{'name':'Sameer', 'age':110},
{'name':'Sumit', 'age':120}]
df = pd.DataFrame(input_df)
print('Original DataFrame: \n', df)
print('\nRows iterated using itertuples() : ')
for row in df.itertuples():
print(getattr(row, 'name'), getattr(row, 'age'))
输出:
Original DataFrame:
age name
0 10 Sujeet
1 110 Sameer
2 120 Sumit
Rows iterated using itertuples() :
Sujeet 10
Sameer 110
Sumit 120
我们可以在 Pandas Dataframe 中迭代行的其他方法很少。请参阅在 Pandas Dataframe 中迭代行的不同方法。