如何在Pandas Dataframe中的行上进行迭代

 

Python是进行数据分析的一种出色语言,主要是因为以数据为中心的Python软件包具有奇妙的生态系统。Pandas是其中的一种,使导入和分析数据更加容易。

让我们看看如何使用inerrows()遍历Pandas Dataframe中的行itertuples()

方法1:使用DataFrame.iterrows()方法

此方法将行遍历为(索引,系列)对。

# 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']) 

 

输出:
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()函数可用于获取row 返回的元组中属性。此方法比方法1更快。

# 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中遍历行的不同方法

posted @ 2020-10-25 19:37  DaisyLinux  阅读(916)  评论(0编辑  收藏  举报