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_945423545 分钟前
使用PyTorch构建你的第一个神经网络
jvm·数据库·python
吃杠碰小鸡8 分钟前
Python+Ai学习流程
人工智能·python·学习
飞Link10 分钟前
具身智能音频处理核心框架 PyAudio 深度拆解与实战
开发语言·python·音视频
嫂子的姐夫12 分钟前
043-spiderbuf第C3题
爬虫·python·js逆向·逆向
夏星印16 分钟前
学习吴恩达课程机器学习笔记
人工智能·笔记·学习·机器学习·ai
StfinnWu22 分钟前
论文阅读《GridDehazeNet: Attention-Based Multi-Scale Network for Image Dehazing》
论文阅读·深度学习·机器学习
kkoral29 分钟前
如何在 Python 中使用 OpenCV 调用 FFmpeg 的特定功能?
python·opencv·ffmpeg
樹JUMP31 分钟前
Python虚拟环境(venv)完全指南:隔离项目依赖
jvm·数据库·python
free_7332 分钟前
超越“回答”,AI Agent迎来全链路安全治理挑战
人工智能·python·网络安全
sg_knight34 分钟前
设计模式实战:策略模式(Strategy)
java·开发语言·python·设计模式·重构·架构·策略模式