人工智能之数据分析 Pandas:第九章 性能优化 - 实践

news/2026/1/18 21:57:37/文章来源:https://www.cnblogs.com/yangykaifa/p/19499214

人工智能之数据分析 Pandas

第九章 性能优化



前言

Pandas 是一个功能强大的 Python 数据分析库,它提供了高效的数据结构和数据分析工具。然而,在处理大规模数据集时,Pandas 的性能可能成为瓶颈。为了优化 Pandas 的性能,本文提供了一些关键策略和技术:

1. 使用合适的数据类型

2. 避免链式赋值

链式赋值(chained assignment)可能导致意想不到的行为,并且通常比直接赋值慢。尽量避免使用如下方式:

df['column']['subcolumn'] = value  # 不推荐

取而代之的是直接访问或使用 .loc / .iloc

df.loc[row_index, 'column'] = value  # 推荐

3. 向量化操作

尽可能使用向量化操作代替循环。Pandas 和 NumPy 库针对向量操作进行了优化,使得它们比纯 Python 循环更快。

# 不推荐
for i in range(len(df)):
df.iloc[i]['A'] = df.iloc[i]['B'] + df.iloc[i]['C']
# 推荐
df['A'] = df['B'] + df['C']

4. 利用 apply() 函数

虽然 apply() 比纯循环快,但它仍不如向量化操作高效。当必须使用自定义函数时,优先考虑 apply() 而非循环。

df['new_column'] = df.apply(lambda row: some_function(row['A'], row['B']), axis=1)

5. 分块读取大文件

如果需要处理非常大的 CSV 文件,可以使用 chunksize 参数分块读取文件。

chunksize = 10 ** 6
for chunk in pd.read_csv('filename.csv', chunksize=chunksize):
process(chunk)

6. 使用 eval()query()

Pandas 提供了 eval()query() 方法,它们能够对 DataFrame 进行快速的字符串表达式求值。这些方法在内部使用了优化过的计算引擎。

df.query('A > B')  # 查询
pd.eval('df.A + df.B')  # 计算

7. 删除不必要的列和行

处理大型数据集时,尽早删除不必要的列和行可以节省大量内存并加快运算速度。

df.drop(['unnecessary_column'], axis=1, inplace=True)

8. 设置适当的索引

合理设置索引(Index)可以加速查找和过滤操作。例如,如果你频繁基于某一列进行查询,可以将其设为索引。

df.set_index('column_name', inplace=True)

9. 并行处理

虽然 Pandas 本身不支持并行处理,但你可以结合其他库如 Dask 或 Modin 来实现这一点。Dask 提供了与 Pandas 相似的 API,但是支持并行计算和分布式存储。

import dask.dataframe as dd
df = dd.read_csv('filename.csv')

结论

通过上述技术,在许多情况下可以显著提高 Pandas 的性能。重要的是要理解业务数据以及需要执行的操作,以便选择最适合的技术。

后续

python过渡项目部分代码已经上传至gitee,后续会逐步更新。

资料关注

公众号:咚咚王
gitee:https://gitee.com/wy18585051844/ai_learning

《Python编程:从入门到实践》
《利用Python进行数据分析》
《算法导论中文第三版》
《概率论与数理统计(第四版) (盛骤) 》
《程序员的数学》
《线性代数应该这样学第3版》
《微积分和数学分析引论》
《(西瓜书)周志华-机器学习》
《TensorFlow机器学习实战指南》
《Sklearn与TensorFlow机器学习实用指南》
《模式识别(第四版)》
《深度学习 deep learning》伊恩·古德费洛著 花书
《Python深度学习第二版(中文版)【纯文本】 (登封大数据 (Francois Choliet)) (Z-Library)》
《深入浅出神经网络与深度学习+(迈克尔·尼尔森(Michael+Nielsen)》
《自然语言处理综论 第2版》
《Natural-Language-Processing-with-PyTorch》
《计算机视觉-算法与应用(中文版)》
《Learning OpenCV 4》
《AIGC:智能创作时代》杜雨+&+张孜铭
《AIGC原理与实践:零基础学大语言模型、扩散模型和多模态模型》
《从零构建大语言模型(中文版)》
《实战AI大模型》
《AI 3.0》

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1179550.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2026年国内最好的沸石转轮+CO定制厂家口碑推荐榜单,除尘器/沸石转轮一体机/滤筒除尘器/催化燃烧,沸石转轮生产商排名 - 品牌推荐师

随着工业废气治理需求持续攀升,沸石转轮+CO(催化燃烧)技术凭借高效吸附与低温催化优势,成为VOCs治理领域的核心解决方案。然而,市场鱼龙混杂,企业技术实力、设备稳定性及售后服务差异显著。为此,我们通过全网数…

小程序毕设项目:基于springboot+微信小程序的院竞赛管理系统(源码+文档,讲解、调试运行,定制等)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

开发智力的课堂

假期充电模式,小朋友认真上课的样子,别人的假期在玩耍,娃们的假期在赶课,努力的小孩最可爱, 假期不虚度,成长不止步,课堂上的小身影,正在悄悄积攒能量,收获满满[太阳][跳…

详细介绍:法律大模型微调:基于 LLaMA-Factory 的指令微调方案

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

【毕业设计】基于springboot+微信小程序的院竞赛管理系统(源码+文档+远程调试,全bao定制等)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026年国内知名的活性炭箱供应厂家联系方式,RTO/旋风除尘器/催化燃烧/活性炭箱/滤筒除尘器,活性炭箱品牌怎么选择 - 品牌推荐师

在VOCs有机废气治理领域,活性炭箱作为吸附净化环节的核心设备,其性能稳定性直接影响企业排放达标率与环保合规成本。据生态环境部2025年行业白皮书显示,全国活性炭箱市场规模已突破85亿元,但设备选型不当导致的二次…

2026苏州厂房装修大揭秘:这几家公司不容错过! - 品牌测评鉴赏家

2026苏州厂房装修大揭秘:这几家公司不容错过!一.苏州厂房装修的重要性 在苏州这片充满活力的商业热土上,厂房作为企业生产运营的核心场所,其装修质量直接关乎企业的兴衰成败。 从生产效率层面来看,合理的厂房装修…

2026极简风爱好者必看!这些宝藏装修公司绝了 - 品牌测评鉴赏家

2026极简风爱好者必看!这些宝藏装修公司绝了一.极简风盛行,为何独得恩宠? 在如今这个快节奏的时代,“断舍离” 的理念越来越深入人心,极简风装修也顺势成为众多人的心头好。极简主义,可不是简单地减少物品数量,…

苏州装修宝藏公司大盘点,口碑爆棚不踩雷! - 品牌测评鉴赏家

苏州装修宝藏公司大盘点,口碑爆棚不踩雷!一.装修前的 “灵魂拷问” 家,是我们心灵的避风港,是疲惫时最渴望回归的温暖港湾。而装修,则是赋予这个港湾独特魅力和舒适体验的关键环节。一个精心装修的家,不仅能提升…

GESP认证C++编程真题解析 | 202309 六级

​欢迎大家订阅我的专栏:算法题解:C++与Python实现! 本专栏旨在帮助大家从基础到进阶 ,逐步提升编程能力,助力信息学竞赛备战! 专栏特色 1.经典算法练习:根据信息学竞赛大纲,精心挑选经典算法题目,提供清晰的…

第一、二、三章 习题总结

习题 2-6(P35)用1,2,3,,9 组成3个三位数 abc , def 和 ghi ,每个数字恰好使用一次,要求 abc : def : ghi 1:2:3 。按照“abc def ghi”的格式输出所有解,每行…

人群仿真软件:AnyLogic_(4).行人库功能详解

行人库功能详解 行人库简介 AnyLogic 的行人库(Pedestrian Library)是专门用于模拟行人行为的强大工具。行人库提供了一系列的图形化组件和编程接口,使用户能够轻松地创建复杂的行人仿真模型。这些模型可以用于研究和优化行人流量、安全性和舒…

GESP认证C++编程真题解析 | 202306 一级

​欢迎大家订阅我的专栏:算法题解:C++与Python实现! 本专栏旨在帮助大家从基础到进阶 ,逐步提升编程能力,助力信息学竞赛备战! 专栏特色 1.经典算法练习:根据信息学竞赛大纲,精心挑选经典算法题目,提供清晰的…

2026苏州装修哪家强?覆盖不同业主的装修需求的十大装修公司! - 品牌测评鉴赏家

2026苏州装修哪家强?覆盖不同业主的装修需求的十大装修公司!一.引言:装修的纠结与选择 家,是每个人心灵的避风港,而装修则是赋予这个港湾独特魅力与舒适的关键。当你怀揣着对未来家的美好憧憬,准备开启装修之旅时…

提示工程架构师必学:用Few-shot Learning增强提示情境感知的AI技巧

提示工程架构师必学:用Few-shot Learning增强提示情境感知的AI技巧 引言:为什么你的AI总是“get不到”上下文? 作为提示工程架构师,你可能遇到过这样的场景: 让AI写一封商务投诉回复邮件,结果它用了“嗨,哥们”这种口语化表达; 让AI解决Python性能优化问题,它却给出…

用 Python 实现芯片性能优化模型

用 Python 实现芯片性能优化模型 一招看懂“软硬协同”的性能优化术 + 工程级落地 作者:Echo_Wish 一、引子:芯片性能优化不是写个 Benchmark 那么简单 你可能见过这样的场景: 新芯片发布 Benchmark 跑出一溜亮眼数字 结果项目一上机器: ➤ 延迟高 ➤ 能耗飙 ➤ 频繁热降…

【计算机毕业设计案例】基于微信小程序的校园跑腿小程序基于springboot+微信小程序的校园外卖直送平台(程序+文档+讲解+定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

开源大模型选择指南:精准匹配需求 + LLaMA-Factory Online高效落地

开源大模型选择指南:精准匹配需求 + LLaMA-Factory Online高效落地在开源大模型百花齐放的时代,选择适配自身需求的模型是第一步,而高效实现模型部署、微调与应用落地,则是发挥模型价值的关键。LLaMA-Factory Onli…

2026船用法兰市场盘点:哪些公司口碑载道值得选?不锈钢管板/不锈钢法兰/高温合金法兰,船用法兰供应商哪家权威 - 品牌推荐师

作为船舶管道系统的核心连接件,船用法兰的质量直接关系到船舶航行安全与作业效率。据中国船舶工业行业协会最新数据,2025年国内船用法兰市场规模达42亿元,同比增长18%,但市场存在产品标准不统一、非标定制能力参差…

到一个不可思议的Python库——Envoy

大家好,今天我们要聊聊一个你可能没有太注意过,但它却能为你的Python项目带来不少便利的库——Envoy。是不是感觉这个名字听起来像是某个神秘的组织?其实它是一个非常实用的Python库,专门用来简化与外部命令交互的操作。嗯&#x…