众所周知,SQL和Pandas是数据科学领域常用工具,精通这两大工具对数据科学家来说极有价值 。而最近,又有一个新的工具库——「Polars」也开始受到青睐 。
![一个闪电般快速的 DataFrame 处理库,完美替代 Pandas](http://img.jiangsulong.com/231211/1A03963O-0.jpg)
文章插图
Polars简介Polars是一个快速的DataFrame库,旨在提供快速高效的数据处理能力,允许您在不影响性能的情况下处理大型数据集 。同时,它解决了Pandas的一些限制:
- Pandas主要依赖于一个CPU核心运行,尤其在处理高并发任务时 , 性能易受限制 。而Polars采用「多核计算方式」 , 能够更好地利用「多核CPU」,从而在处理大量数据和并发任务时表现出更好的性能 。
- Pandas采用的是积极执行模式 , 这意味着它在处理数据时会立即执行所有操作,而不会等待后续操作 。相比之下,Polars提供了「惰性执行模式」,在需要时才执行操作,而不是立即执行所有操作 。这种执行方式有助于减少不必要的计算,从而提高性能 。
- Pandas一次性创建整个DataFrame的对象 。Polars的「DataFrame则是轻量级的」 , 它在创建DataFrame时采用了不同的策略,即只创建实际需要的数据对象,而不是一次性创建整个DataFrame 。这种方法有助于减少内存使用和提高性能 。
- Pandas在处理大型数据集时可能会遇到性能瓶颈 , Polars则比较高效 。
import polars as pl# 创建一个Polars的DataFrame对象df = pl.DataFrame({'name': ['Alice', 'Bob', 'Charlie'],'age': [25, 30, 35],'city': ['New York', 'San Francisco', 'London']})# 打印输出DataFrameprint(df)
【一个闪电般快速的 DataFrame 处理库,完美替代 Pandas】输出结果:shape: (3, 3)┌─────────┬─────┬──────────────┐│ name┆ age ┆ city││ ---┆ --- ┆ ---││ str┆ i64 ┆ str│╞═════════╪═════╪══════════════╡│ "Alice" ┆ 25┆ "New York"│├─────────┼─────┼──────────────┤│ "Bob"┆ 30┆ "San Francisco" │├─────────┼─────┼──────────────┤│ "Charlie" ┆ 35┆ "London"│└─────────┴─────┴──────────────┘
2.合并数据框示例代码如下 。这里首先创建了两个DataFrame对象(df1和df2),分别代表两个不同的数据集 。然后,使用concat函数将这两个DataFrame对象合并为一个新的DataFrame(merged_df) 。最后,打印输出合并后的DataFrame 。import polars as pl# 创建第一个DataFramedf1 = pl.DataFrame({'name': ['Alice', 'Bob', 'Charlie'],'age': [25, 30, 35],'city': ['New York', 'San Francisco', 'London']})# 创建第二个DataFramedf2 = pl.DataFrame({'name': ['Dave', 'Eve', 'Frank'],'age': [40, 45, 50],'city': ['Toronto', 'Paris', 'Sydney']})# 合并两个DataFramemerged_df = df1.concat(df2)# 打印输出合并后的DataFrameprint(merged_df)
shape: (6, 3)┌─────────┬─────┬──────────────┐│ name┆ age ┆ city││ ---┆ --- ┆ ---││ str┆ i64 ┆ str│╞═════════╪═════╪══════════════╡│ "Alice" ┆ 25┆ "New York"│├─────────┼─────┼──────────────┤│ "Bob"┆ 30┆ "San Francisco" │├─────────┼─────┼──────────────┤│ "Charlie" ┆ 35┆ "London"│├─────────┼─────┼──────────────┤│ "Dave"┆ 40┆ "Toronto"│├─────────┼─────┼──────────────┤│ "Eve"┆ 45┆ "Paris"│├─────────┼─────┼──────────────┤│ "Frank" ┆ 50┆ "Sydney"│└─────────┴─────┴──────────────┘
推荐阅读
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 怎么基于Java编写一个CLI工具?
- 一个GPT的幽灵在Gemini上空徘徊
- 翁虹,一个月暴瘦15斤,揭秘她的5个生活细节,学会就瘦
- 狗狗得细小病毒一般几天能好,狗狗患细小病毒治愈的几率有多少
- 偶像练习生陆定昊第几名,偶像练习生陆定昊是和创造营一个人
- 善恶终有报,71岁还“为老不尊”的刘晓庆,已经活成了一个笑话
- 高压锅煮粽子要多久,不用高压锅一般煮粽子要多久才行?
- 天龙怀旧服:一周一个极品灵武,周入25万元宝的快乐谁懂啊?羡慕
- 还好,《南海归墟》不是最烂的一个,但它的结局很糟糕
- 中国第一个飞行员是谁