示例数据源如下:data.csv
遍历Dataframe有一下三种方法:
- iterrows(): 按行遍历,将 DataFrame 的每一行迭代为 (index,Series) 对,可以通过row[name] 对元素进行访问。
- itertuples(): 按行遍历,将 DataFrame 的每一行迭代为元组,可以通过 row[name] 对元素进行访问,比 iterrows() 效率高。
- iteritems(): 按列遍历,将 DataFrame 的每一列迭代为(列名, Series)对,可以通过 row[index] 对元素进行访问。
示例:
import pandas as pd
df = pd.read_csv('data.csv',encoding='utf-8',converters = {'code':str})
print(df)
按行遍历 iterrows():
for index,row in df.iterrows():
print(index,type(row),row['code'],row['name'])
#对于每一行,通过列名访问对应的元素
print("-----")
按行遍历 itertuples():
for row in df.itertuples():
#通过getattr(row, ‘name')获取元素
print(getattr(row, 'code'), getattr(row, 'name'))
print("-----")
按列遍历 iteritems():
import pandas as pd
df = pd.read_csv('data.csv',encoding='utf-8',converters = {'code':str})
print(df)
for index, row in df.iteritems():
print(index,type(row),row[0],row[1],row[2],row[3]) # index为列名
print("-----")