pandas按行按列遍历DataFrame

参考链接:https://blog.csdn.net/sinat_29675423/article/details/87972498

遍历数据有以下三种方法:

1

简单对上面三种方法进行说明:

  • iterrows(): 按行遍历,将DataFrame的每一行迭代为(index, Series)对,可以通过row[name]对元素进行访问。
  • itertuples(): 按行遍历,将DataFrame的每一行迭代为元祖,可以通过row[name]对元素进行访问,比iterrows()效率高。
  • iteritems():按列遍历,将DataFrame的每一列迭代为(列名, Series)对,可以通过row[index]对元素进行访问。

示例数据

1
2
3
4
5
6
import pandas as pd

inp = [{'c1':10, 'c2':100}, {'c1':11, 'c2':110}, {'c1':12, 'c2':123}]
df = pd.DataFrame(inp)

print(df)

在这里插入图片描述

按行遍历iterrows():

1
2
for index, row in df.iterrows():
print(index) # 输出每行的索引值

3
row[‘name’]可以获取这一行对应列的值

1
2
3
# 对于每一行,通过列名name访问对应的元素
for row in df.iterrows():
print(row['c1'], row['c2']) # 输出每一行

4

按行遍历itertuples():

getattr(row, ‘name’)与row[‘name’]类似,也是获取对应的属性值

1
2
for row in df.itertuples():
print(getattr(row, 'c1'), getattr(row, 'c2')) # 输出每一行

5

按列遍历iteritems():

1
2
for index, row in df.iteritems():
print(index) # 输出列名

6

1
2
for row in df.iteritems():
print(row[0], row[1], row[2]) # 输出各列

7


pandas按行按列遍历DataFrame
https://fulequn.github.io/2020/09/Article202009266/
作者
Fulequn
发布于
2020年9月26日
许可协议