pandas按行按列遍历Dataframe的三种方式

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

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

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]) # 输出各列
相关推荐
2501_914245932 分钟前
AWS CodeBuild 中 PHP 8.0 运行时版本不支持的解决方案
jvm·数据库·python
2301_8135995517 分钟前
如何监控表空间自动扩展_DBA_DATA_FILES中的MAXBYTES分析
jvm·数据库·python
SiYuanFeng20 分钟前
一展使用gpt-5-mini和gemini-3.1-flash-image-preview-0.5k的运行demo代码
linux·python·gpt
YuanDaima204822 分钟前
堆(优先队列)基础原理与题目说明
linux·运维·服务器·人工智能·python··代码
m0_7164300727 分钟前
mysql数据库表名区分大小写吗_通过lower case table names配置
jvm·数据库·python
Rsun0455138 分钟前
15、Java 观察者模式从入门到实战
java·python·模板方法模式
2401_8359568142 分钟前
如何利用SQL子查询进行实时监控数据分析_性能优化
jvm·数据库·python
百锦再43 分钟前
使用JavaScript获取和解析页面内容的完整指南
开发语言·前端·javascript·python·flask·fastapi
翔云1234561 小时前
一文读懂人工智能,机器学习,深度学习,神经网络,Transformer
人工智能·深度学习·机器学习
a9511416421 小时前
如何在Bootstrap中实现响应式的统计数据卡片
jvm·数据库·python