女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Polars模塊的使用方式

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

掃碼添加小助手

加入工程師交流群

Polars 是一個速度極快的 DataFrames 庫。

它擁有以下特性:

1.多線程

2.強大的表達式API

3.查詢優化

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

1.準備

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

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

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

請選擇以下任一種方式輸入命令安裝依賴

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

2.Polars 使用介紹

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

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"],
    }
)

選擇需要展示的數據:

(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"),
]))

效果如下:

圖片

他還能使用正則表達式篩選值并進行求和等操作:

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

圖片

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

>> > 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 高級使用

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

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

圖片

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

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

圖片

正則也能用于篩選:

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

(df.select([
    predicate
]))

圖片

在設定一個新列的時候,甚至可以根據條件來給不同的行設定值:

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

圖片

fold 函數很強大,它能在列上執行操作,獲得最快的速度,也就是矢量化執行:

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 │
# └─────┘
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 模塊
    +關注

    關注

    7

    文章

    2788

    瀏覽量

    50360
  • 多線程
    +關注

    關注

    0

    文章

    279

    瀏覽量

    20432
  • 數據分析
    +關注

    關注

    2

    文章

    1472

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

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

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

    易語言-超級快捷方式模塊+例程

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

    關于WiFi模塊的WPS連接方式的詳細介紹

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

    一文總結藍牙模塊的工作方式匯總,很全值得收藏!

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

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

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

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

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

    Polars是一個使用Apache Arrow列格式作為內存模型

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

    介紹一下Polars這個模塊的使用方式

    Polars 是一個速度極快的 DataFrames 庫。
    的頭像 發表于 02-03 09:15 ?2069次閱讀

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

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

    verilog調用模塊端口對應方式

    Verilog是一種硬件描述語言(HDL),廣泛應用于數字電路設計和硬件驗證。在Verilog中,模塊是構建電路的基本單元,而模塊端口對應方式則用于描述模塊之間信號傳遞的
    的頭像 發表于 02-23 10:20 ?2491次閱讀

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

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

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

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

    開關量模塊接線方式有哪些

    開關量模塊接線方式是自動化控制系統中的重要組成部分,它負責接收和處理開關信號,實現對設備的控制。 一、開關量模塊概述 1.1 開關量模塊定義 開關量
    的頭像 發表于 08-30 14:17 ?2110次閱讀

    將NVIDIA加速計算引入Polars

    Polars 近日發布了一款由 RAPIDS cuDF 驅動的全新 GPU 引擎,該引擎可將 NVIDIA GPU 上的 Polars 工作流速度最高提速 13 倍,使數據科學家僅在一臺機器上就能實現在數秒內處理數億行數據。
    的頭像 發表于 11-20 10:03 ?730次閱讀
    將NVIDIA加速計算引入<b class='flag-5'>Polars</b>

    高效地擴展Polars GPU Parquet讀取器

    在處理大型數據集時,數據處理工具的性能至關重要。Polars 作為一個以速度和效率著稱的開源數據處理庫,它提供了由 cuDF 驅動的 GPU 加速后端,能夠顯著提升性能。
    的頭像 發表于 04-21 17:12 ?313次閱讀
    高效地擴展<b class='flag-5'>Polars</b> GPU Parquet讀取器