京公网安备 11010802034615号
经营许可证编号:京B2-20210330
Pandas 是 Python 中非常流行的数据操作和分析库之一。其中,DataFrame 是 Pandas 提供的一个非常有用的数据结构,它类似于 SQL 中的表格,可以存储二维数组、CSV 文件、Excel 表格等数据。在 Pandas 中,有很多方法可以遍历 DataFrame,但是如何在遍历时修改数据呢?本文将探讨这个问题,并提供一些示例代码。
在 Pandas 中,有两种方式可以遍历 DataFrame,分别是使用 for 循环和 iterrows() 方法。下面我们分别介绍一下这两种方式。
使用 for 循环遍历 DataFrame 的方法很简单,只需要像遍历列表一样来遍历 DataFrame 即可。例如:
import pandas as pd
df = pd.DataFrame({'name': ['Alice', 'Bob', 'Charlie'], 'age': [25, 30, 35]}) for index, row in df.iterrows(): print(row['name'], row['age'])
输出结果为:
Alice 25 Bob 30 Charlie 35
在上面的代码中,我们通过 iterrows() 方法来遍历 DataFrame,其中 index 表示索引,row 表示每一行的数据。对于每一行的数据,我们可以通过 row['name'] 或者 row['age'] 来获取其中的某一个值。
iterrows() 方法是 Pandas 中另一种遍历 DataFrame 的方式。它返回一个迭代器,可以通过 for 循环来遍历 DataFrame 中的每一行数据。例如:
import pandas as pd
df = pd.DataFrame({'name': ['Alice', 'Bob', 'Charlie'], 'age': [25, 30, 35]}) for index, row in df.iterrows(): print(row['name'], row['age'])
输出结果为:
Alice 25 Bob 30 Charlie 35
在上面的代码中,我们同样使用了 iterrows() 方法来遍历 DataFrame。其中 index 表示索引,row 表示每一行数据。对于每一行数据,我们同样可以通过 row['name'] 或者 row['age'] 来获取其中的某一个值。
在遍历 DataFrame 的过程中,我们有时候需要对其中的数据进行修改。那么如何在遍历 DataFrame 的同时修改其中的数据呢?下面我们介绍两种方法:使用 at() 方法和使用 loc() 方法。
at() 方法可以用来选择 DataFrame 中的某一个元素,并且可以将其修改为指定的值。例如:
import pandas as pd
df = pd.DataFrame({'name': ['Alice', 'Bob', 'Charlie'], 'age': [25, 30, 35]}) for index, row in df.iterrows(): if row['name'] == 'Alice':
df.at[index, 'age'] = 26 print(df)
输出结果为:
name age 0 Alice 26 1 Bob 30 2 Charlie 35
在上面的代码中,我们使用 for 循环遍历了 DataFrame,并且通过 if 语句来判断当前行的 name 是否为 'Alice'。如果是,我们就使用 at() 方法将该行的 age 修改为 26。
loc() 方法可以用来选取 DataFrame 中的一部分数据,并且可以对其进行修改。例如:
import pandas as pd
df = pd.DataFrame({'name': ['Alice', 'Bob', 'Charlie'], 'age': [25, 30, 35]})
df.loc[df['name'] == 'Alice', 'age'] = 26 print(df)
输出结果为:
name age 0 Alice 26 1 Bob 30 2 Charlie 35
在上面的代码中,我们使用了 loc() 方法来选取 DataFrame 中 name 为 'Alice' 的那一行,并将其中的 age 修改为 26。
在
本文中,我们介绍了 Pandas 中遍历 DataFrame 的两种方式:使用 for 循环和 iterrows() 方法。同时,我们也介绍了两种在遍历时修改 DataFrame 数据的方法:使用 at() 方法和 loc() 方法。
需要注意的是,在遍历 DataFrame 并且修改其中的数据时,我们需要小心地处理索引值和行列标签,以避免出现错误结果。另外,在涉及到大规模数据处理时,尽可能使用向量化方法来进行操作,可以显著提高代码的效率。
总之,Pandas 提供了非常强大的数据操作功能。熟练掌握 DataFrame 的遍历和修改技巧,可以让我们更加高效地完成数据分析和处理任务。
推荐学习书籍
《CDA一级教材》适合CDA一级考生备考,也适合业务及数据分析岗位的从业者提升自我。完整电子版已上线CDA网校,累计已有10万+在读~

免费加入阅读:https://edu.cda.cn/goods/show/3151?targetId=5147&preview=0
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
很多数据分析师画过趋势图、做过业绩预测,但当被问到“这个月销售额增长20%,到底是长期趋势自然增长,还是促销活动的短期 ...
2026-08-21在数据分析与数据可视化工作中,直方图是展示数据分布特征、离散程度、集中区间的核心图表,能够直观呈现数值数据的频次分布规律 ...
2026-08-20在数据分析领域有一句核心准则:垃圾数据进,垃圾数据出。数据清洗是数据分析、数据建模、数据可视化之前的必经前置工序,也是保 ...
2026-08-20 很多数据分析师做过按月份的销售额趋势图,画过按天的流量折线图,但当被问到“时间序列和普通数据有什么本质区别”“季节性 ...
2026-08-20在Python数据分析与数据清洗工作中,Pandas是最核心的数据处理库,DataFrame是结构化数据的标准存储格式。在实时数据采集、循环 ...
2026-08-19在零售行业大数据分析与精细化运营领域,纸尿裤旁摆放啤酒是最经典、最具代表性的商业案例。两种看似毫无关联的商品,一个是婴幼 ...
2026-08-19 很多数据分析师能熟练地计算指标、搭建标签体系,但当被问到“画像到底在解决什么问题”“画像和标签是什么关系”“画像如何 ...
2026-08-19在数据分析、业务监控、质量检测与风险管控工作中,数据波动性是衡量数据稳定性、业务健康度、结果可信度的核心依据。数据波动代 ...
2026-08-18很多分析师在设计标签时思路清晰,但真到落地环节却面临“数据在手,不知如何转化为可用标签”的困境:或因加工方式选择不当导致 ...
2026-08-18在数据分析、业务评价、产品评级、用户分层与综合决策场景中,单一指标往往无法全面、客观地评价事物整体水平。现实中的评价对象 ...
2026-08-18在数理统计、假设检验、数据分析与机器学习领域中,卡方分布(χ²分布)是继正态分布、t分布之后最重要的连续型概率分布之一。 ...
2026-08-17在Python数据清洗、文本校验、账号密码规则校验、脏数据过滤、字符串规整化处理中,正则表达式是最高效、最常用的文本匹配工具。 ...
2026-08-17 很多分析师每天和数据打交道,但当被问到“标签是什么”“标签和指标有什么区别”“标签体系如何设计”时,却常常答不上来。 ...
2026-08-17手游行业具备用户迭代快、竞争激烈、用户粘性易流失的典型特征。随着新游持续上线、玩家审美升级、玩法疲劳等问题出现,存量用户 ...
2026-08-14在数字化产品运营、商业数据分析、业务增长管理中,零散的指标统计无法支撑系统性的业务决策。单一的点击率、转化率、销量数据只 ...
2026-08-14 很多数据分析师每天都在写SQL,但当被问到“数据查询语言(DQL)的本质是什么”“SELECT语句中各子句的书写顺序与实际执行顺 ...
2026-08-14在数据库数据分析、数据清洗、报表统计与业务查询场景中,日期时间是最高频、最核心的基础字段。数据库中存储的日期格式多样,包 ...
2026-08-13在数据统计分析与数据清洗工作中,箱线图是一种简洁高效、客观性强的数据可视化图表,能够直观呈现数据集的分布特征、离散程度和 ...
2026-08-13 很多数据分析师写过无数个SELECT查询,但当被问到“如何新建一张表来固化中间数据”“创建视图和创建物理表有什么区别”“视 ...
2026-08-13在自动化办公、数据采集、定时统计、日志清理、系统监控等场景中,程序往往需要按照固定时间间隔重复执行指定任务,这种运行机制 ...
2026-08-12