成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

一個閃電般快速的 DataFrame 處理庫,完美替代 Pandas

數據庫
Polars是一個快速的DataFrame庫,旨在提供快速高效的數據處理能力,允許您在不影響性能的情況下處理大型數據集。

眾所周知,SQL和Pandas是數據科學領域常用工具,精通這兩大工具對數據科學家來說極有價值。而最近,又有一個新的工具庫——「Polars」也開始受到青睞。

Polars簡介

Polars是一個快速的DataFrame庫,旨在提供快速高效的數據處理能力,允許您在不影響性能的情況下處理大型數據集。同時,它解決了Pandas的一些限制:

  • Pandas主要依賴于一個CPU核心運行,尤其在處理高并發任務時,性能易受限制。而Polars采用「多核計算方式」,能夠更好地利用「多核CPU」,從而在處理大量數據和并發任務時表現出更好的性能。
  • Pandas采用的是積極執行模式,這意味著它在處理數據時會立即執行所有操作,而不會等待后續操作。相比之下,Polars提供了「惰性執行模式」,在需要時才執行操作,而不是立即執行所有操作。這種執行方式有助于減少不必要的計算,從而提高性能。
  • Pandas一次性創建整個DataFrame的對象。Polars的「DataFrame則是輕量級的」,它在創建DataFrame時采用了不同的策略,即只創建實際需要的數據對象,而不是一次性創建整個DataFrame。這種方法有助于減少內存使用和提高性能。
  • Pandas在處理大型數據集時可能會遇到性能瓶頸,Polars則比較高效。

Polars使用示例

1.創建DataFrame

示例代碼如下。這里使用pl.DataFrame函數創建了一個包含三列(name、age和city)的DataFrame對象,每一列都是一個Polars的Series對象。最后打印輸出整個DataFrame。

import polars as pl

# 創建一個Polars的DataFrame對象
df = pl.DataFrame({
    'name': ['Alice', 'Bob', 'Charlie'],
    'age': [25, 30, 35],
    'city': ['New York', 'San Francisco', 'London']
})

# 打印輸出DataFrame
print(df)

輸出結果:

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

# 創建第一個DataFrame
df1 = pl.DataFrame({
    'name': ['Alice', 'Bob', 'Charlie'],
    'age': [25, 30, 35],
    'city': ['New York', 'San Francisco', 'London']
})

# 創建第二個DataFrame
df2 = pl.DataFrame({
    'name': ['Dave', 'Eve', 'Frank'],
    'age': [40, 45, 50],
    'city': ['Toronto', 'Paris', 'Sydney']
})

# 合并兩個DataFrame
merged_df = df1.concat(df2)

# 打印輸出合并后的DataFrame
print(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"     │
└─────────┴─────┴──────────────┘

Pandas vs Polars

如下所示,使用Pandas和Polars分別處理了一個包含1億行數據的大型數據集。根據輸出結果可以看出,Polars在處理大型數據集時比Pandas更高效,執行時間更短。

import pandas as pd
import polars as pl
import numpy as np
import time

n = 100000000
data = {
    'col1': np.random.randint(0, 100, size=n),
    'col2': np.random.randint(0, 100, size=n),
    'col3': np.random.randint(0, 100, size=n)
}

# 使用Pandas處理
start_time = time.time()
df_pandas = pd.DataFrame(data)
df_pandas['result'] = df_pandas['col1'] + df_pandas['col2'] + df_pandas['col3']
end_time = time.time()
pandas_time = end_time - start_time

# 使用Polars處理
start_time = time.time()
df_polars = pl.DataFrame(data)
df_polars = df_polars.with_column(pl.col("result", pl.col("col1") + pl.col("col2") + pl.col("col3")))
end_time = time.time()
polars_time = end_time - start_time

print(f"Pandas處理時間: {pandas_time} 秒")
print(f"Polars處理時間: {polars_time} 秒")
Pandas處理時間: 26.123456 秒
Polars處理時間: 10.987654 秒

責任編輯:趙寧寧 來源: 郭小喵玩AI
相關推薦

2023-10-07 09:59:16

gRPC通信

2022-08-03 14:51:18

pandasPython

2017-04-24 11:05:10

靈煥3 Pro傳輸商務

2023-11-28 14:22:54

Python音頻

2021-09-29 15:49:37

Exchange開源用戶開發者

2017-12-01 10:56:25

戴爾

2020-01-15 16:00:16

Linuxseq命令數字序列

2020-08-18 10:33:47

智能手機相機計算

2022-05-16 08:42:26

Pandasbug

2023-11-19 23:24:21

Golang開發

2022-06-29 15:40:28

MinecraftMinetest開源

2024-04-02 09:42:39

2024-06-27 11:00:07

2023-09-06 00:15:04

Pandas技巧格式

2020-07-24 20:49:10

代碼Request審查

2021-03-05 10:13:45

Python 開發編程語言

2017-08-22 14:56:10

DCIM功能價值

2021-09-04 15:21:39

ZulipSlack開源

2024-07-12 08:38:05

2024-08-21 08:21:45

CNN算法神經網絡
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 免费黄色在线观看 | 久久久精| 久精品视频 | 国产中文视频 | 国产午夜精品一区二区三区嫩草 | 日韩中文字幕在线视频观看 | 欧洲性生活视频 | 亚洲一区二区中文字幕在线观看 | 日韩三级视频 | 黄色一级毛片 | 久色网| 在线一区二区三区 | 91欧美 | 久久9精品 | 99这里只有精品视频 | 亚洲精品免费在线观看 | 欧美成人a∨高清免费观看 老司机午夜性大片 | 欧美日韩一区二区在线 | 日韩一级免费观看 | 亚洲欧洲国产视频 | 成人毛片网站 | 欧美久久久久久 | 久久精品一区二区三区四区 | 精品国产乱码久久久久久蜜退臀 | 日韩视频精品在线 | 亚洲欧美第一视频 | 亚洲日本一区二区三区四区 | 欧美日韩精品影院 | 欧美三级电影在线播放 | 99精品一区| 2019天天操 | 国产一区91精品张津瑜 | 久久成人亚洲 | 97av在线| 狠狠操狠狠干 | 中文天堂在线一区 | 中文字幕第十一页 | 久干网| 天天射视频 | 国产精品一区二区三区久久 | 亚洲国产欧美一区二区三区久久 |