网易首页 > 网易号 > 正文 申请入驻

数据零拷贝,设计更现代,性能翻10倍!在用Pandas的同学赶紧换库

0
分享至

智能化、流媒体快速增长的时代,每天都会产生海量数据。在处理这些数据时,我们需要的从上而下的系统性设计,包括存储、维护、分析、查询、展示等等。回归到个人,日常工作中我们也会经常有一些重复性的数据分析工作,Python作为一种入门门槛低,使用简单,拥有丰富的操作库。它不仅能够处理复杂数据,甚至于当前火热的人工智能,在引入Python库后也能几行代码实现。



回归正题,在大数据处理领域Pandas库绝对是人人都应该用过且非常熟悉的。它是很多科学库的依赖库,Pandas的优势是:发布早,具有更好的兼容性,Pandas是与整个Python数据科学生态系统一起成长的,与构成机器学习流水线的其他软件包具有最大的互操作性。在看到它的优势的同时,我们也逐渐发现了Pandas的不足,其中Pandas最大的不足:性能。

Pandas VS Polars



相反,Polars最大的优势就是性能,它执行常见运算的速度是Pandas的5~10 倍,且同时Polars运算内存需求远低于Pandas:通常Pandas需要输入数据集5~10倍左右的RAM来执行运算,而Polars只用 2~4倍。



为什么Polars会有这么好的性能呢?主要还是因为Polars底层是Rust语言(一种和C/C++一样快的低级语言)编写。而Pandas是在NumPy这样的Python库基础上编写的,虽然NumPy的核心是C编写,但它仍然受到 Python 处理内存中某些类型时的固有问题的影响。另外,Rust语言允许安全并发,并行能力更强。而Pandas只有一个核心执行运算,自然性能要差不少。



内存占用方面,Polars采用了Apache Arrow(一种独立于语言的内存格式),具有互操作性优势,数据无需通过序列化和反序列化以进行传递,进程间无需创建副本,直接共享相同的数据。此外,Pandas基于NumPy,在处理整数和浮点列方面非常出色,但难以应对其他数据类型,在处理大数据集时,Pandas可能会使用大量内存。

为了方便换库,Polars还提供了类似于Pandas的API,使得学习和迁移到Polars的成本相对较低。并且Polars是一个开源项目,鼓励社区参与和贡献。

使用举例

  1. 安装Polars

pip3 install polars

  1. Polars 举例

Polars 提供了从各种来源加载数据的便捷方法,包括 CSV 文件、Parquet 文件和 Pandas DataFrames。读取 CSV 或 parquet 文件的方法与 Pandas 库相同。

例子1:我们先设计一张泰坦尼克号乘客数据集的 CSV 文件。这个数据集通常包含乘客的各种信息,如性别、年龄、票务类别等,以及他们是否存活。

# read a csv file from localimport polars as pl
df = pl.read_csv('d://test.csv')
# 打印出csv文件的前5行
print(df.head())
# 分组和聚合操作
survival_rate_by_gender = df.groupby("Sex").agg([
pl.col("Survived").mean().alias("Survival Rate")
])print(survival_rate_by_gender)
# 复杂操作:按年龄类别分组,并计算存活率
df = df.with_column(
pl.when(pl.col("Age") < 12).then("Child")
.when((pl.col("Age") >= 12) & (pl.col("Age") < 18)).then("Teenager")
.when((pl.col("Age") >= 18) & (pl.col("Age") < 60)).then("Adult")
.when(pl.col("Age") >= 60).then("Senior")
.otherwise("Unknown")
.alias("Age Group")
)
survival_rate_by_age_group = df.groupby("Age Group").agg([
pl.col("Survived").mean().alias("Survival Rate")
])
print(survival_rate_by_age_group)

例子2:我们有一张英雄信息表,包括名字、武力、门派等信息。

importpolarsaspl
#读取江湖中的英雄帖(数据集)
df=pl.read_csv("heroes.csv")
#选出武功高强的侠客
high_skill_heroes=df.filter(pl.col("武力")>90)
#计算各门派高手数量,如同点名江湖中的豪杰
sect_heroes_count=high_skill_heroes.groupby("门派").agg(pl.count())
#显示结果,一览英雄盟主
print(sect_heroes_count)

总结

总的来说,Pandas是一个经过时间验证的数据处理工具,而Polars则更适用于大规模数据处理和需要更高性能的场景。选择使用哪个库取决于你对数据规模、性能和现有生态系统的需求。Polars生态上也在快速成长,未来可期。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
宅基地大局已定!不出意外,2027年农村宅基地或将迎来3大变化

宅基地大局已定!不出意外,2027年农村宅基地或将迎来3大变化

三农雷哥
2026-10-25 12:14:33
男子和四十多岁女网友认识后,频繁发生关系,最后一次在车内,男子死亡后家属向女子索要巨额赔偿

男子和四十多岁女网友认识后,频繁发生关系,最后一次在车内,男子死亡后家属向女子索要巨额赔偿

丫头舫
2026-10-13 22:10:25
泰国王后苏提达:别只看到她隐忍十二年,真正托她登上王后位的,是这三张隐秘的网

泰国王后苏提达:别只看到她隐忍十二年,真正托她登上王后位的,是这三张隐秘的网

白浅娱乐聊
2026-10-25 18:38:59
苏亚雷斯:国家德比看好巴萨取胜,希望能进皇马3到4球

苏亚雷斯:国家德比看好巴萨取胜,希望能进皇马3到4球

懂球帝
2026-10-26 03:50:55
枪都没摸熟就要退役,两年义务兵在练什么?真正目的很多人没看懂

枪都没摸熟就要退役,两年义务兵在练什么?真正目的很多人没看懂

浩渺青史
2026-10-26 02:02:20
退休大局定了:若不出意外的话,2026年中国退休金将面临3大变化

退休大局定了:若不出意外的话,2026年中国退休金将面临3大变化

至死不渝的爱情
2026-10-26 02:13:37
A股:大家做好准备!明天(10月26日)的市场会这样走

A股:大家做好准备!明天(10月26日)的市场会这样走

风风顺
2026-10-26 00:00:06
潘展乐以46秒20夺得全国游泳锦标赛男子100米自由泳金牌,陈俊儿46秒75获得银牌,刘吴狄47秒12获得铜牌

潘展乐以46秒20夺得全国游泳锦标赛男子100米自由泳金牌,陈俊儿46秒75获得银牌,刘吴狄47秒12获得铜牌

极目新闻
2026-10-25 19:54:15
发现一个奇怪现象:乡镇卫生院除了没有病人,真的其他什么都有?

发现一个奇怪现象:乡镇卫生院除了没有病人,真的其他什么都有?

青史卷中人
2026-10-26 01:38:41
曼联球迷力挺卡里克!揪出三大罪人,高歌抗议格雷泽家族+拉爵

曼联球迷力挺卡里克!揪出三大罪人,高歌抗议格雷泽家族+拉爵

奥拜尔
2026-10-26 00:06:37
完美收官!随着孙心然双杀温网冠军夺冠,创造历史+刷爆纪录

完美收官!随着孙心然双杀温网冠军夺冠,创造历史+刷爆纪录

大秦壁虎白话体育
2026-10-25 16:31:23
本场西班牙国家德比,巴萨球衣胸前广告位为“GOLF”标识

本场西班牙国家德比,巴萨球衣胸前广告位为“GOLF”标识

懂球帝
2026-10-25 22:24:09
毛不易婚礼发言事件升级!炫耀和新娘曾共处一室,新郎脸色气铁青

毛不易婚礼发言事件升级!炫耀和新娘曾共处一室,新郎脸色气铁青

青梅侃史啊
2026-10-25 07:14:22
浙江首台重离子591天已治1057例癌症

浙江首台重离子591天已治1057例癌症

刘哥谈体育
2026-10-25 19:20:29
“还不分床,等着看德国骨科?”家长晒姐弟俩午睡一幕,让过来人直言:你会后悔的

“还不分床,等着看德国骨科?”家长晒姐弟俩午睡一幕,让过来人直言:你会后悔的

妍妍教育日记
2026-09-14 21:18:41
江苏富豪重金为痴傻儿子娶妻,拜金女孩欣然答应,新婚当晚却愣住

江苏富豪重金为痴傻儿子娶妻,拜金女孩欣然答应,新婚当晚却愣住

温情邮局
2025-07-09 14:39:26
大幂幂不是白叫的

大幂幂不是白叫的

草莓解说体育
2026-10-24 07:40:22
人口大迁徙已成定局:北京郑州深圳家庭成批外迁

人口大迁徙已成定局:北京郑州深圳家庭成批外迁

娱乐圈见解说
2026-10-24 09:47:57
二十届中央第八轮巡视对象公布

二十届中央第八轮巡视对象公布

上观新闻
2026-10-24 19:21:34
陪玩陪睡仅皮毛!继身体换角色后,女星再曝猛料,被当众拖进厕所

陪玩陪睡仅皮毛!继身体换角色后,女星再曝猛料,被当众拖进厕所

叨唠
2026-10-25 05:05:13
2026-10-26 05:08:49
Adair品科技 incentive-icons
Adair品科技
资深评测人为您呈现黑科技分析
929文章数 1675关注度
往期回顾 全部

科技要闻

苹果首款折叠屏没能养肥黄牛

头条要闻

顾客一个避雷帖致小店营业额直接暴跌75% 女店主崩溃

头条要闻

顾客一个避雷帖致小店营业额直接暴跌75% 女店主崩溃

体育要闻

文班、约基奇和扬尼斯各自的处境

娱乐要闻

王佳佳近况:44岁导演老公露面

财经要闻

宁王AB面:好业绩,坏天气

汽车要闻

专业越野+华为乾崑智能 猛士X700限时焕新价20.98万起

态度原创

家居
手机
亲子
教育
军事航空

家居要闻

2026建博会(广州) 公装联探展交流活动

手机要闻

消息称苹果正为iPhone Duo开发全新“便捷访问”模式,方便左撇子根据持机习惯调整界面

亲子要闻

小鸭鸭的嘴也太甜了,几句话就把妈妈哄得乐开了花

教育要闻

教育部47项白名单公布:成都家长别被"竞赛加分"话术忽悠了

军事要闻

泽连斯基:不会为结束冲突放弃更多领土

无障碍浏览 进入关怀版