遍历数据有以下三种方法:
简单对上面三种方法进行说明:
bash
iterrows(): 按行遍历,将DataFrame的每一行迭代为(index, Series)对,可以通过row[name]对元素进行访问。
itertuples(): 按行遍历,将DataFrame的每一行迭代为元祖,可以通过getattr(row, 'name')对元素进行访问,比iterrows()效率高。
iteritems():按列遍历,将DataFrame的每一列迭代为(列名, Series)对,可以通过row[index]对元素进行访问。
示例数据
python
import pandas as pd
inp = [{'c1':100, 'c2':20}, {'c1':90, 'c2':403}, {'c1':503, 'c2':3}]
df = pd.DataFrame(inp)
print(df)
标题按行遍历iterrows():
python
for index, row in df.iterrows():
print(index) # 输出每行的索引值
可用row['name']作为索引
python
# 对于每一行,通过列名name访问对应的元素
for row in df.iterrows():
print(row['c1'], row['c2']) # 输出每一行
按行遍历itertuples():
可以用getattr(row, 'name')作为索引(注意row['name']会报错)
python
for row in df.itertuples():
print(getattr(row, 'c1'), getattr(row, 'c2')) # 输出每一行
按列遍历iteritems():
注意这是按列读取遍历
python
for index, row in df.iteritems():
print(index) # 输出列名
python
for row in df.iteritems():
print(row[0], row[1], row[2]) # 输出各列