99国产精品欲av蜜臀,可以直接免费观看的AV网站,gogogo高清免费完整版,啊灬啊灬啊灬免费毛片

網(wǎng)易首頁(yè) > 網(wǎng)易號(hào) > 正文 申請(qǐng)入駐

加速版 Pandas 庫(kù),一個(gè)字,快!

0
分享至


什么是 FireDucks?

FireDucks 是一個(gè)完全兼容 Pandas 的加速庫(kù),它不是要替代 Pandas,而是作為 Pandas 的加速器工作。它允許用戶繼續(xù)使用熟悉的 Pandas API,同時(shí)顯著提高執(zhí)行速度。


FireDucks 的核心特點(diǎn) 1. 完全兼容 Pandas


  • 使用與 Pandas 相同的 API

  • 無(wú)需修改現(xiàn)有代碼

  • 可以輕松替換現(xiàn)有的 Pandas 代碼

2. 高性能
  • 比原生 Pandas 快數(shù)倍到數(shù)十倍

  • 特別適合處理大型數(shù)據(jù)集和復(fù)雜操作

3. 兩種使用方式
  • 導(dǎo)入鉤子(Import Hook):不需要修改代碼,自動(dòng)替換 Pandas 導(dǎo)入

    • %load_ext fireducks.pandas import pandas as pd

  • 顯式導(dǎo)入(Explicit Import):手動(dòng)替換導(dǎo)入語(yǔ)句 import fireducks.pandas as pd

工作原理

FireDucks 通過兩種主要方法加速 Pandas 操作:

  1. 編譯器優(yōu)化

  • 將 Python 程序轉(zhuǎn)換為中間語(yǔ)言

  • 專為 DataFrame 操作設(shè)計(jì)的優(yōu)化

多線程處理

  • 利用多核 CPU 并行處理數(shù)據(jù)

  • 類似 GPU 加速的原理

惰性執(zhí)行模型

  • 不立即執(zhí)行操作,而是生成中間語(yǔ)言

  • 只在需要結(jié)果時(shí)(如保存文件、顯示數(shù)據(jù))才執(zhí)行所有操作

  • 批處理優(yōu)化提高整體性能

安裝方法

FireDucks 目前支持 Linux (manylinux) 在 x86_64 架構(gòu)上,可以通過 pip 輕松安裝:

pip install fireducks

要求 Python >3.8, <=3.13(注意:自 FireDucks 1.1.0 起,由于升級(jí)了依賴的 pyarrow 到 18.0.0,不再支持 Python 3.8)

使用方法 方法一:導(dǎo)入鉤子(推薦)

在 Python 腳本中使用:

python3 -m fireducks.pandas your_script.py

在 IPython/Jupyter Notebook 中使用:

%load_ext fireducks.pandas import pandas as pd # 后續(xù)代碼與使用 Pandas 完全相同
方法二:顯式導(dǎo)入

# 替換 import pandas as pd import fireducks.pandas as pd
性能對(duì)比

以下是一個(gè)簡(jiǎn)單的性能對(duì)比示例:

import time import numpy as np import pandas as pd         import fireducks.pandas as fpd   n = 1_000_000 np.random.seed(42) data = {     "x": np.random.randint(0, 100, n),     "y": np.random.rand(n) } df_pandas = pd.DataFrame(data) df_fireducks = fpd.DataFrame(data) start_pd = time.time() sorted_pd = df_pandas.sort_values("x") time_pd = time.time() - start_pd start_fd = time.time() sorted_fd = df_fireducks.sort_values("x") time_fd = time.time() - start_fd print("Pandas 排序時(shí)間:{:.4f} 秒".format(time_pd)) print("FireDucks 排序時(shí)間:{:.4f} 秒".format(time_fd))

結(jié)果:

Pandas 排序時(shí)間: 0.0009 秒 FireDucks 排序時(shí)間: 0.0004 秒

在更大的數(shù)據(jù)集和更復(fù)雜的操作中,性能差異會(huì)更加明顯。

性能測(cè)量注意事項(xiàng)

由于 FireDucks 使用惰性執(zhí)行模型,測(cè)量單個(gè)方法的性能需要特別注意。有三種方法可以準(zhǔn)確測(cè)量性能:

  1. 啟用基準(zhǔn)測(cè)試模式

    # 通過環(huán)境變量 FIREDUCKS_FLAGS="--benchmark-mode" # 或在代碼中 from fireducks.core import get_fireducks_options get_fireducks_options().set_benchmark_mode(True)
  2. 使用_evaluate()方法

    t0 = time.time() df = pd.read_csv("data.csv")._evaluate() t1 = time.time() df = df.sort_values("a")._evaluate() t2 = time.time()
基準(zhǔn)測(cè)試結(jié)果 1. 數(shù)據(jù)庫(kù)類操作基準(zhǔn)測(cè)試

FireDucks 團(tuán)隊(duì)評(píng)估了 db-benchmark[1] 的性能,該基準(zhǔn)測(cè)試包括在多種大小的數(shù)據(jù)集上執(zhí)行基本數(shù)據(jù)科學(xué)操作的場(chǎng)景。

截至 2024 年 9 月 10 日,F(xiàn)ireDucks 在大數(shù)據(jù)的分組(groupby)和連接(join)操作方面似乎是最快的數(shù)據(jù)框架庫(kù)。


測(cè)試環(huán)境:

  • FireDucks 版本:fireducks-1.0.4

  • CPU 型號(hào):Intel(R) Xeon(R) Platinum 8375C CPU @ 2.90GHz

  • CPU 核心數(shù):128

  • 內(nèi)存:256GB

2. TPC-H 基準(zhǔn)測(cè)試

TPC-H 是一個(gè)決策支持基準(zhǔn)測(cè)試,包含復(fù)雜的查詢和大量數(shù)據(jù)修改。


上圖比較了四個(gè)數(shù)據(jù)框架庫(kù)(Pandas、DuckDB、Polars 和 FireDucks)在 22 個(gè)不同查詢上的性能。垂直軸以對(duì)數(shù)刻度顯示與 Pandas 相比快多少倍,大于 1 表示比 Pandas 快。

測(cè)試環(huán)境:

  • 服務(wù)器規(guī)格(AWS EC2 m7i.8xlarge)

  • CPU:INTEL(R) XEON(R) GOLD 6526Y(32 核)

  • 內(nèi)存:512GB

  • 操作系統(tǒng):Ubuntu 24.04

3. TPCx-BB 基準(zhǔn)測(cè)試

TPCx-BB 包括與使用機(jī)器學(xué)習(xí)及其預(yù)處理的數(shù)據(jù)分析相關(guān)的查詢。


在 TPCx-BB 測(cè)試中,F(xiàn)ireDucks 比 Pandas 最高快 17 倍,平均快 6.7 倍。

測(cè)試環(huán)境:

  • CPU:Intel(R) Xeon(R) Gold 5317 CPU @ 3.00GHz x 2 插槽(共 48 個(gè)硬件線程)

  • 內(nèi)存:256GB

  • 測(cè)試版本:

    • pandas-2.1.4

    • fireducks-0.9.3

使用注意事項(xiàng)

由于惰性執(zhí)行模型,使用傳統(tǒng)的 try-catch 塊檢查 KeyError 可能不會(huì)按預(yù)期工作:

# 不推薦的方式 def project(df, cname):     try:         s = df[cname]  # 由于惰性執(zhí)行,這里不會(huì)立即執(zhí)行     except KeyError:         print(f"列 {cname} 在輸入數(shù)據(jù)框中不存在")     else:         return s

推薦的方式:

# 推薦方式 1:使用 _evaluate() 強(qiáng)制執(zhí)行 def project(df, cname):     try:         s = df[cname]._evaluate()     except KeyError:         print(f"列 {cname} 在輸入數(shù)據(jù)框中不存在")     else:         return s # 推薦方式 2:使用 in 操作符 def project(df, cname):     if cname notin df:  # 這會(huì)立即執(zhí)行         print(f"列 {cname} 在輸入數(shù)據(jù)框中不存在")     else:         s = df[cname]         return s
在線體驗(yàn) FireDucks

您可以通過 Google Colab 免費(fèi)體驗(yàn) FireDucks 的易用性和高性能:

  • pandas_nyc_demo.ipynb [2]

  • fireducks_pandas_nyc_demo.ipynb [3]

  • FireDucks_vs_Pandas_vs_Polars.ipynb [4]

總結(jié)

FireDucks 是一個(gè)強(qiáng)大的 Pandas 加速庫(kù),通過編譯器優(yōu)化和多線程處理,顯著提高了數(shù)據(jù)處理速度,同時(shí)保持了與 Pandas 的完全兼容性。它特別適合處理大型數(shù)據(jù)集和復(fù)雜的數(shù)據(jù)操作,可以輕松集成到現(xiàn)有的 Pandas 代碼中,無(wú)需大量修改。

根據(jù)多項(xiàng)基準(zhǔn)測(cè)試,F(xiàn)ireDucks 在各種數(shù)據(jù)處理場(chǎng)景中都展現(xiàn)出了顯著的性能優(yōu)勢(shì),尤其是在處理大型數(shù)據(jù)集和復(fù)雜查詢時(shí)。

資源鏈接

  • 官方網(wǎng)站: https://fireducks-dev.github.io [5]

  • GitHub 倉(cāng)庫(kù): https://github.com/fireducks-dev/fireducks [6]

  • 聯(lián)系方式: contact@fireducks.jp.nec.com [7]

  • Slack 社區(qū): 加入 FireDucks Slack [8]


參考資料

db-benchmark: https://github.com/duckdblabs/db-benchmark

pandas_nyc_demo.ipynb: https://colab.research.google.com/github/fireducks-dev/fireducks/blob/main/notebooks/nyc_demo/pandas_nyc_demo.ipynb

fireducks_pandas_nyc_demo.ipynb: https://colab.research.google.com/github/fireducks-dev/fireducks/blob/main/notebooks/nyc_demo/fireducks_pandas_nyc_demo.ipynb

FireDucks_vs_Pandas_vs_Polars.ipynb: https://colab.research.google.com/github/fireducks-dev/fireducks/blob/main/notebooks/FireDucks_vs_Pandas_vs_Polars.ipynb

[5]

https://fireducks-dev.github.io: https://fireducks-dev.github.io

[6]

https://github.com/fireducks-dev/fireducks: https://github.com/fireducks-dev/fireducks

[7]

contact@fireducks.jp.nec.com: mailto:contact@fireducks.jp.nec.com

[8]

加入 FireDucks Slack: https://join.slack.com/t/fireducks/shared_invite/zt-2j4lucmtj-IGR7AWlXO62Lu605pnBJ2w

特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。

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.

相關(guān)推薦
熱點(diǎn)推薦
600415,“大牛股”盤中跌停!發(fā)生了什么

600415,“大牛股”盤中跌停!發(fā)生了什么

新浪財(cái)經(jīng)
2025-06-27 16:49:07
里夫斯拒四年8920萬(wàn)續(xù)約:明夏可追五年2.46億 湖媒直言該交易他

里夫斯拒四年8920萬(wàn)續(xù)約:明夏可追五年2.46億 湖媒直言該交易他

顏小白的籃球夢(mèng)
2025-06-27 00:54:08
2025溫網(wǎng)女單簽表公布!鄭欽文首輪遇苦主,王欣瑜首輪穆霍娃

2025溫網(wǎng)女單簽表公布!鄭欽文首輪遇苦主,王欣瑜首輪穆霍娃

女網(wǎng)連連看
2025-06-27 20:30:13
“假球”都解釋不了,中國(guó)三人男籃闖進(jìn)世界杯8強(qiáng),劇情太狗血

“假球”都解釋不了,中國(guó)三人男籃闖進(jìn)世界杯8強(qiáng),劇情太狗血

真理是我親戚
2025-06-27 15:27:29
二道販子太可惡!小米yu7閑魚訂單鋪天蓋地,雷總管管吧

二道販子太可惡!小米yu7閑魚訂單鋪天蓋地,雷總管管吧

牛斯克
2025-06-27 09:31:18
張學(xué)良兒子張閭琳辭世:9歲赴美,娶陳濟(jì)棠侄女,所生兩子皆成才

張學(xué)良兒子張閭琳辭世:9歲赴美,娶陳濟(jì)棠侄女,所生兩子皆成才

柳絮憶史
2025-06-17 08:35:03
追求標(biāo)準(zhǔn)答案危害無(wú)窮

追求標(biāo)準(zhǔn)答案危害無(wú)窮

水寒說(shuō)語(yǔ)文
2025-06-26 17:30:16
緊急避雷!“毒兒童牙膏”相繼曝光,絕非危言聳聽,家長(zhǎng)速自查!

緊急避雷!“毒兒童牙膏”相繼曝光,絕非危言聳聽,家長(zhǎng)速自查!

阿傖說(shuō)事
2025-06-26 08:02:00
你上下行速度多少!工信部:1000Mbps及以上接入速率的固網(wǎng)寬帶接入達(dá)2.23億戶

你上下行速度多少!工信部:1000Mbps及以上接入速率的固網(wǎng)寬帶接入達(dá)2.23億戶

快科技
2025-06-25 16:18:11
這是阿嬌你敢相信嗎?看著也不胖啊!而且非常平板該有的都沒看到

這是阿嬌你敢相信嗎?看著也不胖啊!而且非常平板該有的都沒看到

素衣讀史
2025-06-21 14:13:38
硅谷殺妻案背后:于軒一從沒有被愛過,對(duì)方一直與前女友藕斷絲連

硅谷殺妻案背后:于軒一從沒有被愛過,對(duì)方一直與前女友藕斷絲連

史行途
2025-06-27 18:32:58
貝佐斯夫婦威尼斯婚禮歡迎晚宴賓客們, 小李子,卡戴珊家族等人

貝佐斯夫婦威尼斯婚禮歡迎晚宴賓客們, 小李子,卡戴珊家族等人

老吳教育課堂
2025-06-27 15:55:43
中國(guó)游戲超越日本!來(lái)自日本玩家の認(rèn)可!IGN日本高度評(píng)價(jià)《歸唐》!甘肅文旅廳宣布支持開發(fā)組古跡掃描

中國(guó)游戲超越日本!來(lái)自日本玩家の認(rèn)可!IGN日本高度評(píng)價(jià)《歸唐》!甘肅文旅廳宣布支持開發(fā)組古跡掃描

Steam社區(qū)
2025-06-26 11:57:21
月薪3萬(wàn)offer,進(jìn)去半年就廢了?高薪陷阱,正在毀掉一批年輕人…

月薪3萬(wàn)offer,進(jìn)去半年就廢了?高薪陷阱,正在毀掉一批年輕人…

火山詩(shī)話
2025-06-26 16:49:29
黃一鳴自曝:王思聰每次約她,車費(fèi)都給10萬(wàn),來(lái)給5萬(wàn),回再給5萬(wàn)

黃一鳴自曝:王思聰每次約她,車費(fèi)都給10萬(wàn),來(lái)給5萬(wàn),回再給5萬(wàn)

漢史趣聞
2025-06-24 10:07:59
今年養(yǎng)老金調(diào)整有點(diǎn)“小意外”,通知要7月公布嗎?誰(shuí)能漲的多?

今年養(yǎng)老金調(diào)整有點(diǎn)“小意外”,通知要7月公布嗎?誰(shuí)能漲的多?

小舟談歷史
2025-06-26 08:44:01
李湘和16歲女兒回國(guó),直奔商場(chǎng)買鞋買衣服,王詩(shī)齡不化妝很清純

李湘和16歲女兒回國(guó),直奔商場(chǎng)買鞋買衣服,王詩(shī)齡不化妝很清純

檸檬有娛樂
2025-06-27 10:13:46
補(bǔ)助標(biāo)準(zhǔn)99元/人,今年全國(guó)老年人免費(fèi)健康體檢項(xiàng)目再擴(kuò)容

補(bǔ)助標(biāo)準(zhǔn)99元/人,今年全國(guó)老年人免費(fèi)健康體檢項(xiàng)目再擴(kuò)容

每日經(jīng)濟(jì)新聞
2025-06-26 21:32:42
我媽和二嬸不對(duì)付,鄰居蓋房占地二嬸吵不贏,我媽擼起袖子沖上去

我媽和二嬸不對(duì)付,鄰居蓋房占地二嬸吵不贏,我媽擼起袖子沖上去

多多故事薈
2025-06-10 09:10:03
李月汝首發(fā)狂砍15+10,主帥稱贊表現(xiàn)出色

李月汝首發(fā)狂砍15+10,主帥稱贊表現(xiàn)出色

發(fā)財(cái)西瓜
2025-06-27 12:25:38
2025-06-27 21:40:49
機(jī)器學(xué)習(xí)與Python社區(qū) incentive-icons
機(jī)器學(xué)習(xí)與Python社區(qū)
機(jī)器學(xué)習(xí)算法與Python
3014文章數(shù) 11024關(guān)注度
往期回顧 全部

科技要聞

雷軍:小米汽車成功沒靠營(yíng)銷,靠的是能力

頭條要聞

美國(guó)打擊伊朗核設(shè)施后 美軍一將領(lǐng)進(jìn)入特朗普核心圈

頭條要聞

美國(guó)打擊伊朗核設(shè)施后 美軍一將領(lǐng)進(jìn)入特朗普核心圈

體育要聞

曼城“庫(kù)里”連線,送尤文晚安好夢(mèng)

娛樂要聞

炸裂!榜一大姐深夜怒錘頂流

財(cái)經(jīng)要聞

合新鐵路建設(shè)材料以次充好 多家單位被罰

汽車要聞

配置升級(jí)/貴賓座椅 全新GL8陸上公務(wù)艙售22.99萬(wàn)

態(tài)度原創(chuàng)

健康
教育
數(shù)碼
親子
軍事航空

呼吸科專家破解呼吸道九大謠言!

教育要聞

昌平感知覺統(tǒng)合培訓(xùn)班結(jié)業(yè)式暨鞏華中心小學(xué)一體化生態(tài)課間研討會(huì)

數(shù)碼要聞

極摩客 EVO-X2 AI 桌面主機(jī)圖賞:輕巧緊湊,銳龍AI Max+ 395加持

親子要聞

無(wú)奇不有,龍鳳胎同時(shí)出生竟一母雙父,醫(yī)生坦言不奇怪,女方全責(zé)

軍事要聞

美媒揭美軍37小時(shí)奔襲伊朗細(xì)節(jié)

無(wú)障礙瀏覽 進(jìn)入關(guān)懷版 主站蜘蛛池模板: 宜宾市| 新闻| 湾仔区| 泸定县| 台北县| 西青区| 北京市| 东港市| 沂源县| 尉犁县| 察隅县| 阿合奇县| 沛县| 开封市| 长寿区| 梓潼县| 普兰县| 皋兰县| 北京市| 双柏县| 横山县| 和田市| 元谋县| 稻城县| 嘉义县| 青川县| 石河子市| 石城县| 迁西县| 土默特左旗| 潢川县| 衡南县| 噶尔县| 伊宁县| 隆化县| 绿春县| 赤壁市| 伊宁县| 离岛区| 松原市| 城口县|