如何在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中遍歷行的不同方法


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM