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

数据零拷贝,设计更现代,性能翻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.

相关推荐
热点推荐
中美未来几周将举行人工智能对话?外交部:双方就AI问题保持沟通

中美未来几周将举行人工智能对话?外交部:双方就AI问题保持沟通

澎湃新闻
2026-09-07 15:20:31
韩网友曾提问:在铁证面前,中国人为何还不承认汉字起源于韩国?

韩网友曾提问:在铁证面前,中国人为何还不承认汉字起源于韩国?

小豫讲故事
2026-09-06 06:00:14
女排复兴,排协须先低头!请回实力派教练、放开外援,别再分猪肉

女排复兴,排协须先低头!请回实力派教练、放开外援,别再分猪肉

金毛爱女排
2026-09-07 07:36:59
四妻共侍一夫仅开胃菜,何超琼曝家族猛料,难怪至今不敢再婚生子

四妻共侍一夫仅开胃菜,何超琼曝家族猛料,难怪至今不敢再婚生子

社会日日鲜
2026-09-06 09:23:22
1971年,毛主席突然问周总理:“洪学智被搞到哪里去了?”

1971年,毛主席突然问周总理:“洪学智被搞到哪里去了?”

小莜读史
2026-09-04 16:42:10
正式退出联赛!篮协这次也束手无策,老牌劲旅被球员申请破产清算

正式退出联赛!篮协这次也束手无策,老牌劲旅被球员申请破产清算

帮主砍球
2026-09-06 15:40:12
1955年,开国上将中最特殊的一位:49岁的乌兰夫不曾效力红军,也没有参加八路军的履历,他为何有此殊荣?

1955年,开国上将中最特殊的一位:49岁的乌兰夫不曾效力红军,也没有参加八路军的履历,他为何有此殊荣?

唠叨说历史
2026-07-31 15:05:52
它是天然的“叶酸”,怀孕后要多吃,预防畸形,女人平时也要吃!

它是天然的“叶酸”,怀孕后要多吃,预防畸形,女人平时也要吃!

邹小蘑菇
2026-09-04 11:23:26
决不放过,空军少将刚出家门就被乱枪打成筛子,4名警卫又怎样?

决不放过,空军少将刚出家门就被乱枪打成筛子,4名警卫又怎样?

聚峰军评
2026-09-05 10:40:37
2-1!萨巴伦卡美网17连胜却差点翻车,世界第一发球率暴跌16%全靠硬撑,八强战诺斯科娃等着呢

2-1!萨巴伦卡美网17连胜却差点翻车,世界第一发球率暴跌16%全靠硬撑,八强战诺斯科娃等着呢

林子说事
2026-09-07 10:09:22
国米逆转有人急,马雷利:有确凿证据才能使用VAR,劳塔罗该红牌

国米逆转有人急,马雷利:有确凿证据才能使用VAR,劳塔罗该红牌

狗哥是一名内拉
2026-09-07 15:16:08
河南球迷也举报了!韦世豪向看台手比圆形,嘴里疑似说“偷XX”

河南球迷也举报了!韦世豪向看台手比圆形,嘴里疑似说“偷XX”

风过乡
2026-09-07 13:21:46
陈妍希素颜照曝光!发量巨多成亮点,网友:还是得勤快

陈妍希素颜照曝光!发量巨多成亮点,网友:还是得勤快

木子爱娱乐大号
2026-09-07 10:23:31
人社部释放重要信号,退休人员关心的养老金,讲清楚中长期方向

人社部释放重要信号,退休人员关心的养老金,讲清楚中长期方向

王姐懒人家常菜
2026-09-07 08:11:22
纪委倒查持续加码!在职、退休一视同仁,这五类红线切莫心存侥幸

纪委倒查持续加码!在职、退休一视同仁,这五类红线切莫心存侥幸

职场资深秘书
2026-09-06 16:25:17
菲律宾干了件还没一个国家干过的事,他们直接宣布,国家进入紧急状态,不是因为战争,也不是因为天灾,而是因为整个国家的油箱

菲律宾干了件还没一个国家干过的事,他们直接宣布,国家进入紧急状态,不是因为战争,也不是因为天灾,而是因为整个国家的油箱

回京历史梦
2026-09-07 17:48:10
世界老二真难当,华为太难了!苹果折叠屏一来,连折痕都被洗白了

世界老二真难当,华为太难了!苹果折叠屏一来,连折痕都被洗白了

小蜜情感说
2026-09-06 15:01:34
暴涨9300%!64岁俞敏洪再翻盘

暴涨9300%!64岁俞敏洪再翻盘

企查查
2026-08-28 13:31:14
“高中签率”新股,来了!本周3只新股申购

“高中签率”新股,来了!本周3只新股申购

证券时报
2026-09-07 08:06:04
中日若开战,将是地狱模式!全球终于清醒了:中国这次不是在演戏

中日若开战,将是地狱模式!全球终于清醒了:中国这次不是在演戏

叶葉夜
2026-08-31 11:23:21
2026-09-07 18:43:00
Adair品科技 incentive-icons
Adair品科技
资深评测人为您呈现黑科技分析
927文章数 1675关注度
往期回顾 全部

科技要闻

华为Mate XT 2起售价19999元 9月12日开售

头条要闻

吴彦祖谈CHINA GT事故:赛会方36小时后发声明是可耻的

头条要闻

吴彦祖谈CHINA GT事故:赛会方36小时后发声明是可耻的

体育要闻

中超争冠形势:成都蓉城下轮打平夺冠

娱乐要闻

热搜第一,演员李沐宸致歉

财经要闻

证监会原副主席王建军一审被判无期徒刑

汽车要闻

带升降立标MPV 岚图梦想家9预售价42.99万起

态度原创

亲子
房产
旅游
游戏
军事航空

亲子要闻

卵巢功能减退食补吃什么好?备孕辅酶q10提高卵泡多久怀孕?

房产要闻

10万人吃瓜!三亚这个楼盘,法拍网上卖疯了!

旅游要闻

百名文旅推介官启程、导游夜校开班,苏州开启文旅人才队伍专业化系统化常态化培育新征程

《8号出口》销量突破300万份 两款系列作品开启纪念促销

军事要闻

媒体:中美战区司令会晤释放的信号 台湾要听懂

无障碍浏览 进入关怀版