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]) # 输出各列
相关推荐
金銀銅鐵11 小时前
[Python] 基于欧几里得算法,实现分数约分计算器
python·数学
Lyn_Li12 小时前
Kaggle Top 5 | 198只股票、200条数据的金融预测——BattleFin高分方案从零复现
python·kaggle·比赛复盘·金融预测
拾年27517 小时前
大模型的"聪明"从哪来?聊聊 AI 数据集的那些事儿
人工智能·深度学习·机器学习
小九九的爸爸17 小时前
前端想要入门Agent开发,要具备哪些Python基础?
python·agent·ai编程
阿耶同学18 小时前
手把手教你用 LangGraph 搭建三层嵌套 Agent 架构
python·程序员
花酒锄作田1 天前
Pydantic校验配置文件
python
hboot1 天前
AI工程师第四课 - 深度学习入门
pytorch·python·神经网络
罗西的思考2 天前
机器人 / 强化学习】HIL-SERL:人类在环驱动的具身智能进化框架
人工智能·算法·机器学习
ShallWeL2 天前
【机器学习】(3)—— 线性回归:梯度下降
人工智能·机器学习