91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Polars模塊的使用方式

科技綠洲 ? 來源:Python實(shí)用寶典 ? 作者:Python實(shí)用寶典 ? 2023-10-17 10:39 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Polars 是一個(gè)速度極快的 DataFrames 庫。

它擁有以下特性:

1.多線程

2.強(qiáng)大的表達(dá)式API

3.查詢優(yōu)化

下面給大家簡單介紹一下這個(gè)模塊的使用方式。

1.準(zhǔn)備

開始之前,你要確保Python和pip已經(jīng)成功安裝在電腦上,如果沒有,可以訪問這篇文章:超詳細(xì)Python安裝指南 進(jìn)行安裝。

**(可選1) **如果你用Python的目的是數(shù)據(jù)分析,可以直接安裝Anaconda:Python數(shù)據(jù)分析與挖掘好幫手—Anaconda,它內(nèi)置了Python和pip.

**(可選2) **此外,推薦大家用VSCode編輯器,它有許多的優(yōu)點(diǎn):Python 編程的最好搭檔—VSCode 詳細(xì)指南

請(qǐng)選擇以下任一種方式輸入命令安裝依賴

  1. Windows 環(huán)境 打開 Cmd (開始-運(yùn)行-CMD)。
  2. MacOS 環(huán)境 打開 Terminal (command+空格輸入Terminal)。
  3. 如果你用的是 VSCode編輯器 或 Pycharm,可以直接使用界面下方的Terminal.
pip install polars

2.Polars 使用介紹

在初始化變量的時(shí)候,Polars用起來的方式和Pandas沒有太大區(qū)別,下面我們定義一個(gè)初始變量,后面所有示例都使用這個(gè)變量:

import polars as pl
df = pl.DataFrame(
    {
        "A": [1, 2, 3, 4, 5],
        "fruits": ["banana", "banana", "apple", "apple", "banana"],
        "B": [5, 4, 3, 2, 1],
        "cars": ["beetle", "audi", "beetle", "beetle", "beetle"],
    }
)

選擇需要展示的數(shù)據(jù):

(df.select([
    pl.col("A"),
    "B", # the col part is inferred
    pl.lit("B"), # we must tell polars we mean the literal "B"
    pl.col("fruits"),
]))

效果如下:

圖片

他還能使用正則表達(dá)式篩選值并進(jìn)行求和等操作:

# 正則表達(dá)式
(df.select([
    pl.col("^A|B$").sum()
]))
# 或者多選
(df.select([
    pl.col(["A", "B"]).sum()
]))

圖片

Polars支持下面這樣復(fù)雜且高效的查詢及展示:

>> > df.sort("fruits").select(
...     [
...         "fruits",
...         "cars",
...         pl.lit("fruits").alias("literal_string_fruits"),
...         pl.col("B").filter(pl.col("cars") == "beetle").sum(),
...         pl.col("A").filter(pl.col("B") > 2).sum().over("cars").alias("sum_A_by_cars"),
...         pl.col("A").sum().over("fruits").alias("sum_A_by_fruits"),
...         pl.col("A").reverse().over("fruits").alias("rev_A_by_fruits"),
...         pl.col("A").sort_by("B").over("fruits").alias("sort_A_by_B_by_fruits"),
...     ]
... )
shape: (5, 8)
┌──────────┬──────────┬──────────────┬─────┬─────────────┬─────────────┬─────────────┬─────────────┐
│ fruits ┆ cars ┆ literal_stri ┆ B ┆ sum_A_by_ca ┆ sum_A_by_fr ┆ rev_A_by_fr ┆ sort_A_by_B │
│ --- ┆ --- ┆ ng_fruits ┆ --- ┆ rs ┆ uits ┆ uits ┆ _by_fruits │
│ strstr ┆ --- ┆ i64 ┆ --- ┆ --- ┆ --- ┆ --- │
│ ┆ ┆ str ┆ ┆ i64 ┆ i64 ┆ i64 ┆ i64 │
╞══════════╪══════════╪══════════════╪═════╪═════════════╪═════════════╪═════════════╪═════════════╡
│ "apple""beetle""fruits"114744           │
│ "apple""beetle""fruits"114733           │
│ "banana""beetle""fruits"114855           │
│ "banana""audi""fruits"112822           │
│ "banana""beetle""fruits"114811           │
└──────────┴──────────┴──────────────┴─────┴─────────────┴─────────────┴─────────────┴─────────────┘

3.Polars 高級(jí)使用

倒序操作,將值倒序后重新放回變量中,起名為xxx_reverse:

(df.select([
    pl.all(),
    pl.all().reverse().suffix("_reverse")
]))

圖片

對(duì)所有列求和,并放回變量中,起名為 xxx_sum:

(df.select([
    pl.all(),
    pl.all().sum().suffix("_sum")
]))

圖片

正則也能用于篩選:

predicate = pl.col("fruits").str.contains("^b.*")

(df.select([
    predicate
]))

圖片

在設(shè)定一個(gè)新列的時(shí)候,甚至可以根據(jù)條件來給不同的行設(shè)定值:

(df.select([
    "fruits",
    "B",
    pl.when(pl.col("fruits") == "banana").then(pl.col("B")).otherwise(-1).alias("b")
]))

圖片

fold 函數(shù)很強(qiáng)大,它能在列上執(zhí)行操作,獲得最快的速度,也就是矢量化執(zhí)行:

df = pl.DataFrame({
        "a": [1, 2, 3],
        "b": [10, 20, 30],
    }
)

out = df.select(
    pl.fold(acc=pl.lit(0), f=lambda acc, x: acc + x, exprs=pl.col("*")).alias("sum"),
)
print(out)
# shape: (3, 1)
# ┌─────┐
# │ sum │
# │ --- │
# │ i64 │
# ╞═════╡
# │ 11 │
# ├?????┤
# │ 22 │
# ├?????┤
# │ 33 │
# └─────┘
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 模塊
    +關(guān)注

    關(guān)注

    7

    文章

    2788

    瀏覽量

    50389
  • 多線程
    +關(guān)注

    關(guān)注

    0

    文章

    279

    瀏覽量

    20444
  • 數(shù)據(jù)分析
    +關(guān)注

    關(guān)注

    2

    文章

    1473

    瀏覽量

    35039
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    Wifi模塊的工作方式功能是什么?

    Wifi模塊的工作方式是什么呢,Wifi模塊的主要功能又有哪些呢?本文主要介紹了有關(guān)Wifi模塊的基礎(chǔ)知識(shí)即:Wifi模塊的工作
    發(fā)表于 06-12 14:22 ?6032次閱讀

    易語言-超級(jí)快捷方式模塊+例程

    易語言是一門以中文作為程序代碼編程語言學(xué)習(xí)例程:超級(jí)快捷方式模塊
    發(fā)表于 06-06 16:03 ?11次下載

    關(guān)于WiFi模塊的WPS連接方式的詳細(xì)介紹

    詳細(xì)介紹了WiFi模塊的WPS連接方式,以及硬件整體架構(gòu),硬件wps引腳分配
    發(fā)表于 03-30 15:46 ?24次下載

    一文總結(jié)藍(lán)牙模塊的工作方式匯總,很全值得收藏!

    藍(lán)牙模塊的工作方式有哪些呢?資料總結(jié)了藍(lán)牙模塊的常見的7種工作方式,需要的親可以收藏下
    發(fā)表于 04-26 15:05 ?15次下載
    一文總結(jié)藍(lán)牙<b class='flag-5'>模塊</b>的工作<b class='flag-5'>方式</b>匯總,很全值得收藏!

    485無線通信模塊與4-20mA采集模塊傳輸方式的區(qū)別

    若將485無線通信模塊與4-20mA采集模塊進(jìn)行比較,則兩者在傳輸方式上的差別仍較大。與普通儀表一樣,信號(hào)電流都是4-20mA,即最小電流是4mA,最大電流是20mA。在傳送信號(hào)時(shí),要考慮到導(dǎo)線還有
    發(fā)表于 03-03 14:50 ?1.4w次閱讀

    模塊的分類方式及類型詳解

    不同的應(yīng)用需求,不同參數(shù)和功能的光模塊應(yīng)運(yùn)而生。光模塊的分類方式及類型詳見如下: 1、按封裝分類 光模塊按照封裝形式來分有以下幾種常見類型:SFP、SFP+、SFP28、QSFP+、Q
    發(fā)表于 06-08 15:14 ?8249次閱讀

    Polars是一個(gè)使用Apache Arrow列格式作為內(nèi)存模型

    需要注意的是,Python實(shí)現(xiàn)的Rust crate被稱為py-polars,以區(qū)別于Rust crate包polars本身。然而,Python包和Python模塊都被命名為polars
    發(fā)表于 07-07 16:21 ?1409次閱讀

    介紹一下Polars這個(gè)模塊的使用方式

    Polars 是一個(gè)速度極快的 DataFrames 庫。
    的頭像 發(fā)表于 02-03 09:15 ?2071次閱讀

    DC電源模塊具有不同的安裝方式和安全規(guī)范

    BOSHIDA DC電源模塊具有不同的安裝方式和安全規(guī)范 DC電源模塊是將低壓直流電轉(zhuǎn)換為需要的輸出電壓的裝置。它們廣泛應(yīng)用于各種領(lǐng)域和行業(yè),如通信、醫(yī)療、工業(yè)、家用電器等。安裝DC電源模塊
    的頭像 發(fā)表于 09-19 11:09 ?1006次閱讀
    DC電源<b class='flag-5'>模塊</b>具有不同的安裝<b class='flag-5'>方式</b>和安全規(guī)范

    verilog調(diào)用模塊端口對(duì)應(yīng)方式

    Verilog是一種硬件描述語言(HDL),廣泛應(yīng)用于數(shù)字電路設(shè)計(jì)和硬件驗(yàn)證。在Verilog中,模塊是構(gòu)建電路的基本單元,而模塊端口對(duì)應(yīng)方式則用于描述模塊之間信號(hào)傳遞的
    的頭像 發(fā)表于 02-23 10:20 ?2502次閱讀

    DC電源模塊的原理及工作方式

    BOSHIDA ?DC電源模塊的原理及工作方式 DC電源模塊是一種將交流電轉(zhuǎn)換為直流電的設(shè)備,它將交流電輸入端轉(zhuǎn)換為穩(wěn)定的直流電輸出,以供電子設(shè)備使用。DC電源模塊的工作原理及工作
    的頭像 發(fā)表于 04-24 10:37 ?1681次閱讀
    DC電源<b class='flag-5'>模塊</b>的原理及工作<b class='flag-5'>方式</b>

    電源模塊的散熱原理,電源模塊的散熱方式有哪些

    電源模塊的散熱原理主要依賴于三種傳熱方式:導(dǎo)熱、對(duì)流和輻射。以下是針對(duì)這三種散熱方式的詳細(xì)解釋和歸納:
    的頭像 發(fā)表于 06-10 17:00 ?3450次閱讀

    開關(guān)量模塊接線方式有哪些

    開關(guān)量模塊接線方式是自動(dòng)化控制系統(tǒng)中的重要組成部分,它負(fù)責(zé)接收和處理開關(guān)信號(hào),實(shí)現(xiàn)對(duì)設(shè)備的控制。 一、開關(guān)量模塊概述 1.1 開關(guān)量模塊定義 開關(guān)量
    的頭像 發(fā)表于 08-30 14:17 ?2125次閱讀

    將NVIDIA加速計(jì)算引入Polars

    Polars 近日發(fā)布了一款由 RAPIDS cuDF 驅(qū)動(dòng)的全新 GPU 引擎,該引擎可將 NVIDIA GPU 上的 Polars 工作流速度最高提速 13 倍,使數(shù)據(jù)科學(xué)家僅在一臺(tái)機(jī)器上就能實(shí)現(xiàn)在數(shù)秒內(nèi)處理數(shù)億行數(shù)據(jù)。
    的頭像 發(fā)表于 11-20 10:03 ?734次閱讀
    將NVIDIA加速計(jì)算引入<b class='flag-5'>Polars</b>

    高效地?cái)U(kuò)展Polars GPU Parquet讀取器

    在處理大型數(shù)據(jù)集時(shí),數(shù)據(jù)處理工具的性能至關(guān)重要。Polars 作為一個(gè)以速度和效率著稱的開源數(shù)據(jù)處理庫,它提供了由 cuDF 驅(qū)動(dòng)的 GPU 加速后端,能夠顯著提升性能。
    的頭像 發(fā)表于 04-21 17:12 ?317次閱讀
    高效地?cái)U(kuò)展<b class='flag-5'>Polars</b> GPU Parquet讀取器
    主站蜘蛛池模板: 免费一级成人毛片 | 女女色综合影院 | 97av在线 | 高清国产美女在线观看 | bt天堂磁力搜索 | 亚洲成人国产 | 免费视频国产 | 4438x亚洲最大 | 五月婷婷社区 | 啪啪午夜免费 | 二级黄绝大片中国免费视频 | 在线欧美色图 | 男女午夜免费视频 | 国产免费一区二区三区在线 | 日本高清免费aaaaa大片视频 | 又色又爽的视频 | 午夜三级国产精品理论三级 | 免费在线视频播放 | 国产成人精品本亚洲 | 亚洲综合狠狠 | 操女人视频网站 | yy6080亚洲半夜理论一级毛片 | 国产激烈床戏无遮挡观看 | 欧美精品成人a多人在线观看 | 在线观看日本一区 | 亚洲qingse| 小说区v天堂网 | 久久综合五月开心婷婷深深爱 | 黄色插插插 | 天天射天天爱天天干 | 久久精品国产免费 | 亚洲精品黄色 | 成人女人a毛片在线看 | www.狠狠干| 成人在线观看网站 | 国产精品视频一区二区三区 | 97天天干 | 日本在线黄色网址 | 狠狠的日视频 | 免费在线欧美 | jinv在线视频 |