最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Pandas 2.0 主要優(yōu)勢以及代碼實(shí)現(xiàn)!

2023-09-13 16:59 作者:程序員大致學(xué)長  | 我要投稿

四月,官方發(fā)布pandas 2.0.0,在數(shù)據(jù)科學(xué)社區(qū)內(nèi)掀起了軒然大波。

由于其廣泛的功能性和多功能性,如果沒有 import pandas as pd,幾乎不可能做到數(shù)據(jù)操縱,對吧?

雖然我沒意識到所有的大肆宣傳,數(shù)據(jù)中心的人工智能社區(qū)迅速伸出了援手:


截圖來自作者 2.0發(fā)行版看起來在數(shù)據(jù)科學(xué)社區(qū)造成了相當(dāng)大的影響,很多用戶都稱贊新版本里的改進(jìn)。


有趣的事實(shí):你意識到這個(gè)發(fā)行版用了驚人的3年時(shí)間制作的嗎?這就是我所說的“對社區(qū)的承諾”!

所以pandas 2.0帶來了什么?讓我們立刻深入看一下!



表現(xiàn)、速度以記憶優(yōu)勢

正如我們所知,pandas是使用numpy建立的,并非有意設(shè)計(jì)為數(shù)據(jù)幀庫的后端。

因?yàn)檫@個(gè)原因,pandas的主要局限之一就是較大數(shù)據(jù)集的內(nèi)存處理。在這一版本里,大的改變來自于為pandas數(shù)據(jù)引入Apache?Arrow后端。

從本質(zhì)上講,Arrow 是一種標(biāo)準(zhǔn)化的內(nèi)存中列式數(shù)據(jù)格式,具有適用于多種編程語言(C、C++、R、Python 等)的可用庫。對于Python,有PyArrow,它基于Arrow的C++實(shí)現(xiàn),因此速度很快!

所以,長話短說,PyArrow考慮到了我們以往1點(diǎn)幾版本的內(nèi)存限制,允許我們執(zhí)行更快、內(nèi)存更高效的數(shù)據(jù)操作,尤其對大型數(shù)據(jù)集來說。

如您所見,使用新的后端使讀取數(shù)據(jù)的速度提高了近 35 倍。其他值得指出的方面:

  • 如果沒有 pyarrow 后端,每個(gè)列/特征都存儲為自己的唯一數(shù)據(jù)類型:數(shù)字特征存儲為 int64 或 float64,而字符串值存儲為對象;

  • 使用 pyarrow,所有功能都使用 Arrow dtypes:請注意 [pyarrow] 注釋和不同類型的數(shù)據(jù):int64、float64、字符串、時(shí)間戳和雙精度:

Arrow數(shù)據(jù)類型及Numpy索引

除了讀取數(shù)據(jù)(這是最簡單的情況)之外,您還可以期待一系列其他操作的其他改進(jìn),尤其是那些涉及字符串操作的操作,因?yàn)?pyarrow 對字符串?dāng)?shù)據(jù)類型的實(shí)現(xiàn)非常有效:

事實(shí)上,Arrow 比 numpy 具有更多(和更好的支持的)數(shù)據(jù)類型,這些數(shù)據(jù)類型在科學(xué)(數(shù)字)范圍之外是必需的:日期和時(shí)間、持續(xù)時(shí)間、二進(jìn)制、小數(shù)、列表和地圖。瀏覽 pyarrow 支持的數(shù)據(jù)類型和 numpy 數(shù)據(jù)類型之間的等效性實(shí)際上可能是一個(gè)很好的練習(xí),以便您學(xué)習(xí)如何利用它們。

現(xiàn)在也可以在索引中保存更多的?numpy 數(shù)值類型。傳統(tǒng)的?int64、uint64 和 float64 為所有 numpy 數(shù)字 dtypes Index 值打開了空間,因此我們可以指定它們的 32 位版本:

更容易處理缺失值


注意在引入?singleNone 值后,點(diǎn)如何自動從 int64 更改為 float64。

對于數(shù)據(jù)流來說,沒有什么比錯(cuò)誤的排版更糟糕的了,尤其是在以數(shù)據(jù)為中心的?AI 范式中。錯(cuò)誤的排版直接影響數(shù)據(jù)準(zhǔn)備決策,導(dǎo)致不同數(shù)據(jù)塊之間的不兼容性,即使以靜默方式傳遞,它們也可能損害某些輸出無意義結(jié)果的操作。

寫入時(shí)復(fù)制優(yōu)化

Pandas 2.0 還添加了一種新的惰性復(fù)制機(jī)制,該機(jī)制會延遲復(fù)制數(shù)據(jù)幀和系列對象,直到它們被修改。

這意味著在啟用寫入時(shí)復(fù)制時(shí),某些方法將返回視圖而不是副本,這通過最大限度地減少不必要的數(shù)據(jù)重復(fù)來提高內(nèi)存效率。

這也意味著在使用鏈?zhǔn)椒峙鋾r(shí)需要格外小心。如果啟用了寫入時(shí)復(fù)制模式,則鏈?zhǔn)椒峙鋵⒉黄鹱饔?,因?yàn)樗鼈冎赶蛞粋€(gè)臨時(shí)對象,該對象是索引操作的結(jié)果(在寫入時(shí)復(fù)制下的行為類似于副本)。

Pandas 2.0 主要優(yōu)勢以及代碼實(shí)現(xiàn)!的評論 (共 條)

分享到微博請遵守國家法律
阳新县| 綦江县| 自治县| 新邵县| 弋阳县| 安达市| 浦县| 东山县| 遂宁市| 定兴县| 靖西县| 上饶县| 延边| 伊通| 延吉市| 大石桥市| 樟树市| 健康| 沈阳市| 随州市| 宝应县| 万山特区| 临泽县| 南通市| 黎平县| 蕲春县| 万盛区| 嵊州市| 抚远县| 阿合奇县| 横峰县| 乌鲁木齐市| 胶南市| 永和县| 溆浦县| 吴堡县| 丹东市| 洛阳市| 宿州市| 论坛| 盐池县|