精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Pandas對比Polars,語法和速度大PK

開發 前端
正如本文所示,如果要從Pandas切換到Polars,則需要學習新的Polars語法。此外,你已經看到,對于相同的操作,Polars代碼通常要比Pandas代碼長。并且,Polars并沒有涵蓋Pandas的所有功能,例如用于數據探索等。

Pandas是數據科學中必不可少的Python庫。但其最大的缺點是對大型數據集的操作速度較慢。Polars是一種旨在更快地處理數據的Pandas替代方案。

Polars是一種旨在更快地處理數據的Pandas替代方案。

本文簡要介紹了Polars Python包,并將其與流行的數據科學庫Pandas在語法和速度方面進行了比較。

  • 什么是Polars,為什么它比Pandas更快?
  • 基準測試設置
  • 開始使用Polars
  • Pandas和Polars的比較
  • ° 讀取數據
  • ° 選擇和過濾數據
  • ° 創建新列
  • ° 分組和聚合
  • ° 缺失數據
  • 結論

本文的相關代碼可在Kaggle Notebook中找到,鏈接如下:https://www.kaggle.com/code/iamleonie/pandas-vs-polars

什么是Polars,為什么它比Pandas更快?

根據Polars的用戶指南[1],其目標是“提供一個利用計算機上所有可用核心的閃電般快速的DataFrame庫。”

與Polars不同,Pandas不會在計算機核心之間進行原生的并行處理。其他工具如Dask是建立在Pandas庫的基礎上嘗試進行并行處理。相反,Polars是專為并行化而設計的,并從頭開始搭建。雖然它是用Rust編寫的,但Polars有一個Python包,這使得它成為Pandas的潛在替代方案。

Polars有兩種不同的API:急切API和惰性API。

急切的執行方式類似于Pandas。這意味著直接運行代碼,并立即返回結果。

另一方面,惰性執行是在你需要結果時才運行。由于它避免了運行不必要的代碼,因此惰性執行可以比急切執行更高效。

對于惰性執行,必須使用.lazy()方法開始操作。然后可以為你想做的任何事情編寫要執行的代碼。最后需要運行.collect()方法來顯示結果。

df.lazy()
  .with_columns([(pl.col("col") * 10).alias("new_col")])
  #...
  .collect()

如果你不運行.collect()方法,則不會立即執行操作。相反,你將看到執行圖。

圖片圖片


基準測試設置

本基準測試設置使用了一個虛構的數據集,其中包含每種數據類型的一列。為了減少時間上的噪聲以便進行比較,該虛構數據集包含400萬行,幾乎有1GB大小,正如[2]中建議的那樣。

圖片圖片

用于比較Pandas和Polars基準測試的虛構數據集頭部

在下文中,我們將使用%%timeit -n32 -r4對執行進行計時。

開始使用Polars

要設置Polars,只需使用pip安裝它。

pip install polars

之后,可以像使用Pandas一樣導入Polars Python包。

import polars as pl
import pandas as pd

現在,準備工作都已完成。

Pandas和Polars的比較

Pandas和Polars(急切API)在語法方面看起來很相似,因為它們具有共享的主要搭建模塊:Series和DataFrames。

此外,Polars中的許多表達式也與Pandas表達式相似:

# 適用于Pandas和Polars的示例表達式
df.head() # 獲取前n行的數據
df.tail() # 獲取最后n行的數據
df.unique() # 獲取此表達式的唯一值。

但是,根據Polars用戶指南[1],“如果你的Polars代碼看起來像是Pandas代碼,它可能會運行,但很可能比它應該運行的速度慢。”

本節將探討Polars包在語法和執行時間方面與Pandas的主要不同之處:

  • 讀取數據
  • 選擇和過濾數據
  • 創建新列
  • 分組和聚合
  • 缺失數據

讀取數據

在Polars中讀取CSV文件會感覺很熟悉,因為可以像在Pandas中一樣使用.read_csv()方法:

# Pandas
pd.read_csv('example.csv')

# Polars
pl.read_csv('example.csv')

在Pandas和Polars中讀取樣本數據集的結果執行時間如下所示:

Pandas和Polars之間讀取時間的比較Pandas和Polars之間讀取時間的比較

對于我們的樣本數據集,使用Pandas讀取數據比使用Polars慢8倍左右。

選擇和過濾數據

Pandas和Polars之間的第一個主要區別是Polars不使用索引[1]。相反,每行都以其在DataFrame中的整數位置為索引[1]。

雖然相同的Pandas代碼也可以在Polars中運行,但這并不是最佳實踐。在Polars中,應該使用.select()方法來選擇數據。

# Pandas
df[['col1', 'col2']] 

# 上述代碼也可以在Polars中運行,
# 但在Polars中的正確方式是:
df.select(pl.col(['col1', 'col2']))

在Pandas和Polars中選擇數據的執行時間結果顯示如下:

Pandas和Polars之間選擇時間的比較Pandas和Polars之間選擇時間的比較

對于我們的樣本數據集,使用Pandas選擇數據比使用Polars慢15倍左右(約為70.3微秒)。

下面比較了在文檔中建議的Polars操作語法(使用.select(),左側)和Pandas語法(使用df[['col1','col2']],右側)。令人意外的是,Pandas語法比建議的.select()方法快得多。

圖片圖片

Polars和具有Pandas語法的Polars之間選擇時間的比較(df[[‘col1’,‘col2’]])

在Pandas中,你可以使用.query()方法過濾數據,但在Polars中需要使用.filter()方法。

# Pandas
df.query('col1 > 5')

# Polars
df.filter(pl.col('col') > 5)

在Pandas和Polars中過濾數據的執行時間結果顯示如下:

Pandas和Polars之間過濾時間的比較Pandas和Polars之間過濾時間的比較

對于我們的樣本數據集,使用Pandas和Polars過濾數據的時間大致相同。

與Pandas不同,Polars可以在.select()和.filter()中并行運行操作。

創建新列

在Polars中創建新列也與在Pandas中使用的方式有所不同。在Polars中,需要使用.with_column()或.with_columns()方法,具體取決于你要創建多少列。

# Pandas
df_pd["new_col"] = df_pd["col"] * 10

# Polars
df.with_columns([(pl.col("col") * 10).alias("new_col")])

# 多列的Polars
# df.with_columns([(pl.col("col") * 10).alias("new_col"), ...])

在Pandas和Polars中創建一個新列的結果執行時間如下:

Pandas和Polars之間創建新列的時間比較Pandas和Polars之間創建新列的時間比較

對于我們的樣本數據集,在Polars中創建新列需要比Pandas長兩倍左右的時間。

分組和聚合

在Pandas和Polars中,分組和聚合在語法上略有不同,但兩者都使用.groupby()和.agg()方法。

# Pandas
df_pd.groupby('col1')['col2'].agg('mean')

# Polars
# df.groupby('col1').agg([pl.col('col2').mean()]) # 建議使用的Polars方法
df.groupby('col1').agg([pl.mean('col2')]) # 簡短的語法

在Pandas和Polars中對數據進行分組和聚合的執行時間如下:

Pandas和Polars之間聚合時間的比較Pandas和Polars之間聚合時間的比較

對于我們的樣本數據集,使用Pandas聚合數據需要比使用Polars長兩倍左右的時間。

缺失數據

Pandas和Polars之間的另一個主要區別是,Pandas使用NaN值表示缺失值,而Polars使用null[1]。

圖片圖片

Pandas和Polars如何在DataFrames中表示缺失值

因此,應該使用Polars的.fill_null()方法,而不是Pandas中的.fillna()方法。

# Pandas
df['col2'].fillna(-999)

# Polars
# df_pd.with_column(pl.col('col2').fill_null(pl.lit(-999))) # 建議使用的Polars方法
df_pd.with_column(pl.col('col2').fill_null(-999)) # 簡短的語法

總結

那么,Polars是否比Pandas更好?Polars是否會取代Pandas?

Polars相對于Pandas的主要優勢是速度。如果你需要在大型數據集上進行大量數據處理,那么你肯定應該嘗試Polars。

Polars相對于Pandas的主要優勢是速度。

但是,正如本文所示,如果要從Pandas切換到Polars,則需要學習新的Polars語法。此外,你已經看到,對于相同的操作,Polars代碼通常要比Pandas代碼長。并且,Polars并沒有涵蓋Pandas的所有功能,例如用于數據探索等。

因此,如果你需要使用Pandas提供的所有功能,則可能需要繼續使用Pandas。

Polars的代碼通常比Pandas的代碼長。

參考文獻

[1] Polars (2023): User Guide (accessed 8. January 2023)

【網址】:https://pola-rs.github.io/polars-book/user-guide/

[2] “Stackoverflow”, “What are the differences between feather and parquet?”. stackoverflow.com.(accessed July 25, 2022)

【網址】:https://stackoverflow.com/questions/48083405/what-are-the-differences-between-feather-and-parquet

責任編輯:武曉燕 來源: Python學研大本營
相關推薦

2023-08-01 12:57:42

PandasSeriesIndex

2012-06-13 13:06:37

瀏覽器速度測試

2023-04-20 16:48:22

PandasPolarsPython

2022-06-17 11:10:43

PandasPolarsPython

2011-09-22 09:55:40

投影儀評測

2022-04-29 09:33:58

PHP框架Laravel

2015-05-21 16:57:02

云服務AWSIaaS

2017-12-13 08:20:15

芯片驍龍?人工智能

2022-06-28 22:13:33

Polars數據處理與分析

2009-06-19 09:36:27

C#執行速度IronPython

2021-12-14 10:39:12

中間件ActiveMQRabbitMQ

2021-04-09 23:00:12

SQL數據庫Pandas

2024-07-01 00:00:03

2009-11-06 14:01:48

EPON接入技術

2019-03-22 08:25:20

x86PythonARM

2023-07-10 13:51:45

測試并行計算框架

2015-06-04 14:29:46

JavaScript框架比較

2013-04-19 02:06:58

手機游戲手機游戲引擎技術選型

2021-05-19 14:25:19

前端開發技術

2012-05-23 11:31:09

瀏覽器帳號管理
點贊
收藏

51CTO技術棧公眾號

成人在线观看毛片| 亚洲影院色在线观看免费| 成人网站免费观看| 日韩成人av电影| 中文天堂在线一区| 97中文在线| 神马久久久久久久| 888久久久| 日韩精品中文字幕在线播放| 欧美性大战xxxxx久久久| 欧美日韩精品一区| 亚洲怡红院av| 一级成人国产| www.久久撸.com| 亚洲av人人澡人人爽人人夜夜| 是的av在线| 亚洲欧美日本韩国| 欧美视频1区| xxxx18国产| 日韩成人精品在线| 久久久久日韩精品久久久男男 | 99精品欧美一区| 国产精品普通话| 国产福利拍拍拍| 中文字幕一区二区精品区| 亚洲人成在线观看网站高清| 亚洲AV成人精品| 久久影视精品| 欧美性高潮在线| 欧美日韩dvd| 在线观看黄色av| 久久亚洲综合色一区二区三区 | 无码少妇一区二区三区| 日韩视频免费观看高清完整版| 91av俱乐部| 天天综合av| 亚洲综合色成人| 中文字幕剧情在线观看一区| 精品av中文字幕在线毛片| av亚洲精华国产精华精华| av色综合网| 99久久免费国产精精品| 久久国产精品99久久久久久老狼| 国产成人精品久久久| 97超碰人人干| 99国产精品久久久久久久| 欧美成人在线网站| 国产黄在线免费观看| 99久久精品网站| 色吧影院999| 日本免费www| 精品久久成人| 中文字幕自拍vr一区二区三区| 婷婷色一区二区三区| 伊人久久大香线蕉av不卡| 亚洲二区中文字幕| 国产黑丝一区二区| 色狠狠久久av综合| 亚洲摸下面视频| 性欧美精品中出| 精品一区电影| 亚洲伦理中文字幕| 美女洗澡无遮挡| 国产欧美日韩精品一区二区三区 | 91久久精品国产91性色tv| 国产淫片免费看| 午夜影院一区| 日本韩国一区二区三区视频| 婷婷丁香激情网| 欧美国产视频| 日韩网站在线看片你懂的| 欧美一级片在线免费观看| 9l视频自拍蝌蚪9l视频成人 | 久草免费资源站| 国产精品久av福利在线观看| 日韩高清欧美高清| 69视频在线观看免费| 日韩一区二区三区免费播放| 久久视频在线播放| 久久视频免费看| 国产精品乱看| 国产欧美精品在线| 精品区在线观看| 97精品电影院| 亚洲国产精品综合| 亚洲91av| 日韩欧美在线免费| 欧美激情国内自拍| 国产三级精品三级在线观看国产| 亚洲男人天堂网| 亚洲天堂网av在线| 日韩视频久久| 国产免费一区二区三区香蕉精| www.色播.com| 久久久国产精品午夜一区ai换脸| 亚洲国产另类久久久精品极度| 午夜影院免费在线| 色婷婷国产精品综合在线观看| 午夜免费福利视频在线观看| xvideos.蜜桃一区二区| 亚洲天堂免费观看| 青青草原免费观看| 水野朝阳av一区二区三区| 91人成网站www| 三级av在线| 亚洲欧美日韩在线| 一本久道综合色婷婷五月| 成人污污视频| 亚洲片av在线| 免费在线视频一区二区| 日韩影院免费视频| 成人黄视频免费| 国产高清免费在线播放| 亚洲高清免费观看| 激情文学亚洲色图| 精品日韩免费| 97色在线视频观看| 国产又粗又猛视频| 久久精品亚洲精品国产欧美kt∨| 国产欧美日韩小视频| 青草综合视频| 亚洲欧洲黄色网| 日韩精品一区二区不卡| 韩国三级在线一区| 婷婷久久青草热一区二区| 精精国产xxx在线视频app| 91精品国产91久久久久久最新毛片 | 四虎影院一区二区三区| 悠悠资源网亚洲青| 精品国产1区二区| 九九热国产精品视频| 看国产成人h片视频| 日本一区二区精品| 波多视频一区| 亚洲黄色av女优在线观看 | 国产精品久久在线观看| 欧美日韩激情视频一区二区三区| 亚洲一区二三区| av地址在线观看| 自产国语精品视频| 91精品视频一区| 92国产在线视频| 欧美性猛片xxxx免费看久爱| 国产熟妇搡bbbb搡bbbb| 亚洲影院免费| 久久久久一区二区| 中文字幕这里只有精品| 亚洲九九九在线观看| 日本道在线观看| a级高清视频欧美日韩| 男的插女的下面视频| jizz国产精品| 亚洲91精品在线| 午夜在线视频免费| 黑人巨大精品欧美一区二区免费| 视频免费在线观看| 国产精品久久久久毛片大屁完整版| 国内视频一区二区| 理论不卡电影大全神| 日韩精品免费视频| 激情视频网站在线观看| 国产婷婷精品av在线| 日韩爱爱小视频| 97精品97| 91在线国产电影| 亚洲区欧洲区| 日韩经典中文字幕在线观看| 国产无人区码熟妇毛片多| 久久久噜噜噜久久中文字幕色伊伊| 无码精品a∨在线观看中文| 夜夜躁狠狠躁日日躁2021日韩| 国产999在线观看| 在线播放麻豆| 制服丝袜国产精品| 久久久久久av无码免费网站| 成人国产精品免费观看视频| 日韩av片在线看| 成人国产精品一级毛片视频| 国产日韩精品在线| 日韩av激情| 亚洲欧美国产精品| 国产精品九九九九| 亚洲高清免费观看| 人与嘼交av免费| 狠狠色丁香婷综合久久| 日韩精品在线中文字幕| 欧美精选视频在线观看| 亚洲free嫩bbb| 欧美极品videos大乳护士| 亚洲天堂第二页| 国产视频在线观看免费| 亚洲成av人片| 亚洲无人区码一码二码三码的含义| 精品一区二区三区在线播放| 亚洲乱码日产精品bd在线观看| 欧美a级网站| 国产日韩欧美在线| 两个人看的在线视频www| 国产亚洲a∨片在线观看| 国产又黄又大又爽| 欧美性猛交xxxx富婆| 国产va在线播放| 国产日韩成人精品| 精品人妻无码中文字幕18禁| 亚洲综合99| 懂色av粉嫩av蜜臀av| 偷拍自拍亚洲色图| 91日韩久久| 国内精品伊人| 欧美亚洲成人xxx| 中文字幕在线观看网站| 亚洲性线免费观看视频成熟| 成人乱码一区二区三区| 欧美日韩大陆一区二区| 伊人手机在线视频| 亚洲成人综合在线| √天堂中文官网8在线| 久久久不卡网国产精品二区 | 日韩欧美高清一区二区三区| 国产精品27p| 97人人爽人人澡人人精品| 久久精品中文字幕免费mv| 国产片在线观看| 亚洲精品久久久久中文字幕欢迎你| 国产美女精品视频国产| 欧美伊人精品成人久久综合97| 日日夜夜综合网| 亚洲a一区二区| 欧美日韩在线观看成人| 国产精品初高中害羞小美女文| 在线观看日本中文字幕| caoporn国产精品| 最新版天堂资源在线| 国产美女精品一区二区三区| 天堂av在线8| 久久99国产精品免费网站| 日本老熟妇毛茸茸| 美女爽到呻吟久久久久| 高清在线观看免费| 亚洲欧洲日本一区二区三区| 三级在线免费观看| 亚洲九九视频| 可以在线看黄的网站| 久久久久久久久久久久久久久久久久 | 毛片av免费在线观看| 国产精品视频| 成人免费在线小视频| 99国产精品私拍| 久久成人福利视频| 国产欧美高清| 国产精品无码一本二本三本色| 亚洲制服少妇| 成人免费xxxxx在线视频| 日韩va欧美va亚洲va久久| 欧美丰满熟妇xxxxx| 日本欧美一区二区| 国产一级片自拍| 国产一区二区电影| gogo亚洲国模私拍人体| 国产成人综合视频| 亚洲精品乱码久久久久久蜜桃图片| 91在线免费播放| аⅴ天堂中文在线网| 国产精品久久久久久久久久免费看| 日韩av网站在线播放| 亚洲欧美日韩国产综合在线| 亚洲国产精品久| 精品国产福利视频| 日本免费精品视频| 69堂精品视频| 黄色av免费观看| 亚洲欧美自拍一区| 精品国产白色丝袜高跟鞋| 久久精品久久久久久| 久草在线资源站资源站| 青青久久av北条麻妃黑人| 老司机精品视频网| 国产精品久久久久免费| 在线成人动漫av| 9999在线观看| 1024日韩| www欧美激情| 丁香婷婷综合五月| 中文字幕在线看高清电影| 中文字幕色av一区二区三区| 青青草精品在线视频| 天天影视网天天综合色在线播放| 日本精品入口免费视频| 91精品国产综合久久久蜜臀图片| 欧美一区二不卡视频| 国产一区二区三区在线视频| 黄色网在线免费看| 69影院欧美专区视频| 97人人做人人爽香蕉精品| av色综合网| 精品视频网站| 日韩黄色短视频| 美国一区二区三区在线播放| 美国黄色一级视频| 中文字幕一区二区三区四区| 91蜜桃视频在线观看| 欧美精品丝袜中出| 亚洲av成人无码久久精品老人| 久久九九有精品国产23| 精品91久久| 国产乱码精品一区二区三区日韩精品| 成人在线免费观看91| 国产精品无码av在线播放| 韩国成人福利片在线播放| 影音先锋黄色资源| 亚洲色图视频网| 亚洲av无码精品一区二区| 精品国产乱码久久久久久浪潮| 91porn在线观看| 国产69精品久久久久久| 日韩欧美一级| 一区精品视频| 日日夜夜免费精品| 色综合久久五月| 亚洲一区二区三区三| 国产一区二区网站| 伊人久久综合97精品| 热色播在线视频| 国产精品视频福利| 888久久久| 污污网站在线观看视频| 欧美国产97人人爽人人喊| 亚洲熟女综合色一区二区三区| 精品免费国产二区三区| 成人黄视频在线观看| 国产美女被下药99| 久久在线免费| 免费涩涩18网站入口| 国产三区在线成人av| 无码人妻黑人中文字幕| 亚洲女同精品视频| 波多野结衣久久精品| 欧美日韩亚洲免费| 久久成人精品| 受虐m奴xxx在线观看| 欧美午夜激情视频| 日韩精品视频在线观看一区二区三区| 国语自产精品视频在线看抢先版图片| 日韩av综合| 成人免费在线视频播放| 国产白丝网站精品污在线入口| 久久免费看少妇高潮v片特黄 | 日本不卡一区二区在线观看| 中文字幕一区二区三| 夜夜狠狠擅视频| 美日韩精品免费观看视频| 深夜激情久久| 美脚丝袜脚交一区二区| 成人午夜精品在线| 日本一级黄色大片| 精品视频—区二区三区免费| xx欧美视频| 污视频在线免费观看一区二区三区 | 99热手机在线| 中文字幕一区二区在线观看| av一区二区三| 国产69精品99久久久久久宅男| 久久99精品国产自在现线| 日本日本19xxxⅹhd乱影响| 久久综合九色综合欧美亚洲| 黄色av网站免费观看| 中文字幕日韩欧美| 永久免费观看精品视频| 中文字幕在线中文| 99re成人在线| 懂色av中文字幕| 美女福利视频一区| 国产精品毛片视频| av无码精品一区二区三区| 中文字幕中文字幕在线一区 | 精品久久免费看| 在线天堂中文资源最新版| 日韩激情久久| 国产成人亚洲综合a∨猫咪 | 欧美日韩精品欧美日韩精品一综合 | 99re热视频这里只精品| 中文字幕在线日亚洲9| 精品视频9999| 亚洲最大在线| 中文字幕第三区| 精品欧美一区二区三区| 99精品老司机免费视频| 国产精品jizz视频| 免费人成黄页网站在线一区二区| 午夜剧场免费在线观看| 日韩成人中文电影| av日韩久久| 欧美日韩第二页| 亚洲欧美国产77777| 日本国产在线| 91嫩草视频在线观看| 免费成人av在线播放| 日韩人妻无码一区二区三区99| 中文字幕欧美国内| 欧美影院天天5g天天爽|