使用pandas按行遍歷是數(shù)據(jù)科學(xué)的常見需求之一。在本篇文章中,我們將從多個方面來詳細(xì)闡述如何使用pandas按行遍歷,包括遍歷、篩選、修改和使用apply函數(shù)進(jìn)行行操作。
一、遍歷
pandas有多種遍歷方法。我們可以使用iterrows、itertuples和iteritems三種方法來訪問pandas數(shù)據(jù)幀的每一行。其中iterrows和itertuples方法是最常見的方法。
二、篩選
當(dāng)我們想要只訪問數(shù)據(jù)中特定行時,可以使用boolean indexing來進(jìn)行篩選。
import pandas as pd
df = pd.DataFrame({'name': ['Alice', 'Bob', 'Charlie'], 'age': [25, 30, 35]})
# 篩選age大于30的行
for index, row in df[df['age'] > 30].iterrows():
print(f"Name: {row['name']}, Age: {row['age']}")
上述代碼將打印以下內(nèi)容:
Name: Charlie, Age: 35
三、修改
當(dāng)我們想要修改數(shù)據(jù)集中的特定行時,可以使用at或iat方法進(jìn)行索引。
import pandas as pd
df = pd.DataFrame({'name': ['Alice', 'Bob', 'Charlie'], 'age': [25, 30, 35]})
# 修改第一行的名字
df.at[0, 'name'] = 'Alicia'
for index, row in df.iterrows():
print(f"Name: {row['name']}, Age: {row['age']}")
上述代碼將打印以下內(nèi)容:
Name: Alicia, Age: 25
Name: Bob, Age: 30
Name: Charlie, Age: 35
四、使用apply函數(shù)進(jìn)行行操作
apply函數(shù)能夠操作每一行或每一列的值,從而實現(xiàn)自定義計算和處理。
import pandas as pd
df = pd.DataFrame({'name': ['Alice', 'Bob', 'Charlie'], 'age': [25, 30, 35]})
# 將age值加上5
df['age'] = df['age'].apply(lambda x: x + 5)
for index, row in df.iterrows():
print(f"Name: {row['name']}, Age: {row['age']}")
上述代碼將打印以下內(nèi)容:
Name: Alice, Age: 30
Name: Bob, Age: 35
Name: Charlie, Age: 40
總結(jié)
本文從方方面面介紹了pandas按行遍歷的方法,包括遍歷、篩選、修改和使用apply函數(shù)進(jìn)行行操作。通過使用這些方法,我們可以更加靈活的處理pandas數(shù)據(jù)集。