如何迭代熊猫数据框中的行
Python 是进行数据分析的优秀语言,主要是因为以数据为中心的 Python 包的奇妙生态系统。 【熊猫】 就是其中一个包,让导入和分析数据变得容易多了。
让我们看看如何使用inerrows()
和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'])
Output:
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'))
Output:
Original DataFrame:
age name
0 10 Sujeet
1 110 Sameer
2 120 Sumit
Rows iterated using itertuples() :
Sujeet 10
Sameer 110
Sumit 120
我们很少有其他方法可以迭代熊猫数据框中的行。参见在熊猫数据框中迭代行的不同方法。