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

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

相关推荐
热点推荐
心疼!郑钦文颁奖礼强忍泪水微笑致辞,重演11年前李娜被逆转遗憾

心疼!郑钦文颁奖礼强忍泪水微笑致辞,重演11年前李娜被逆转遗憾

我爱英超
2024-11-10 04:42:37
澳门这一夜,彻底看清刀郎的翻红真相,难怪四太梁安琪会大力支持

澳门这一夜,彻底看清刀郎的翻红真相,难怪四太梁安琪会大力支持

圈里的甜橙子
2024-11-10 06:04:28
马斯克76岁母亲现身上海:美国大选后到上海买床具,杨澜全程陪同

马斯克76岁母亲现身上海:美国大选后到上海买床具,杨澜全程陪同

影像温度
2024-11-09 13:07:15
中国“三箭齐发”

中国“三箭齐发”

环球时报新闻
2024-11-09 23:15:27
超越萨德,印媒猜测:红旗-19完成了中国陆基中段反导试验

超越萨德,印媒猜测:红旗-19完成了中国陆基中段反导试验

晨枫老苑
2024-11-09 10:25:34
两千万网红瑶一瑶4岁了,从一岁就开始赚钱,至今还没有上幼儿园

两千万网红瑶一瑶4岁了,从一岁就开始赚钱,至今还没有上幼儿园

阿纂看事
2024-11-09 09:49:14
霉霉的视频要公布,贾斯汀比伯变宠物,吹牛老爹的疯狂派对盖不住

霉霉的视频要公布,贾斯汀比伯变宠物,吹牛老爹的疯狂派对盖不住

看界馆
2024-11-08 15:08:27
当年计划生育的海报,没想被00后完全采纳,教育在此刻完成了闭环

当年计划生育的海报,没想被00后完全采纳,教育在此刻完成了闭环

校长侃财
2024-11-04 09:53:38
宝马利润暴跌84%,主要原因是“中国人不愿买”

宝马利润暴跌84%,主要原因是“中国人不愿买”

道德经
2024-11-07 19:12:22
长滨蜜璃|下一个IP大魔王?时人不识凌云木,直待凌云始道高!

长滨蜜璃|下一个IP大魔王?时人不识凌云木,直待凌云始道高!

生活大关注
2024-11-09 00:46:43
女子高烧3天,却迟迟找不到原因,医生让她脱下裤子后真相大白

女子高烧3天,却迟迟找不到原因,医生让她脱下裤子后真相大白

凯裕说故事
2024-11-08 15:31:26
普京万万没想到!当着全世界的面,泽连斯基掏出最后一张“王牌”

普京万万没想到!当着全世界的面,泽连斯基掏出最后一张“王牌”

全球视角分析
2024-11-09 18:18:02
八枪秒杀7人,一人灭掉120名黑社会成员惊动公安部,职业杀手所为

八枪秒杀7人,一人灭掉120名黑社会成员惊动公安部,职业杀手所为

易玄
2024-06-21 14:34:36
赌王夫人现身刀郎演唱会!席地而坐的刀郎轰动了整个澳门

赌王夫人现身刀郎演唱会!席地而坐的刀郎轰动了整个澳门

看鉴青辉
2024-11-09 12:58:12
中国股市又爆猛料,明天A股或将要大变天,万千散户抄底还是逃跑

中国股市又爆猛料,明天A股或将要大变天,万千散户抄底还是逃跑

一丛深色花儿
2024-11-10 04:30:03
4499元起,国产手机已经到了买不起的程度,为何厂商仍喊不赚钱?

4499元起,国产手机已经到了买不起的程度,为何厂商仍喊不赚钱?

史诗长歌
2024-11-08 07:55:11
“第一夫人”被人放裸照公开羞辱!特朗普:“这很时髦”

“第一夫人”被人放裸照公开羞辱!特朗普:“这很时髦”

大江看潮
2024-11-08 15:38:10
以色列事闹大了!被内塔尼亚胡免职的加兰特曝出大料

以色列事闹大了!被内塔尼亚胡免职的加兰特曝出大料

小企鹅侃世界
2024-11-09 15:51:41
明年起,普通人或面临资产贬值?专家:别碰5件事,守好钱袋子

明年起,普通人或面临资产贬值?专家:别碰5件事,守好钱袋子

巢客HOME
2024-11-10 09:00:02
你敢相信吗?马斯克说服公司女高管,用自己精子生下双胞胎

你敢相信吗?马斯克说服公司女高管,用自己精子生下双胞胎

坦然风云
2024-11-10 09:41:28
2024-11-10 12:16:49
Adair品科技
Adair品科技
资深评测人为您呈现黑科技分析
895文章数 1675关注度
往期回顾 全部

科技要闻

OpenAI CEO:模型是贬值资产

头条要闻

"奇葩车位"被柱子挡住卖3万元 网友:白送还差不多

头条要闻

"奇葩车位"被柱子挡住卖3万元 网友:白送还差不多

体育要闻

霸气!郑钦文叉腰摆pose 伸手接金色彩带

娱乐要闻

妖怪曝与叶柯录音,叶柯每句话都爆雷

财经要闻

6万亿后 还将有更多增量财政政策出台

汽车要闻

NZP能否完成极氪智驾最后一块拼图?

态度原创

艺术
亲子
健康
时尚
军事航空

艺术要闻

故宫珍藏的墨迹《十七帖》,比拓本更精良,这才是地道的魏晋写法

亲子要闻

孩子要不要常规补点锌?

花18万治疗阿尔茨海默病,值不值?

50岁的女人秋季多穿裙子,这些裙装搭配太好看了,优雅又高级

军事要闻

南部战区某舰艇编队开展高强度实弹射击训练

无障碍浏览 进入关怀版