📜  如何遍历 Pandas Dataframe 中的行

📅  最后修改于: 2022-05-13 01:55:24.929000             🧑  作者: Mango

如何遍历 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 中迭代行的不同方法。