Pandas 2.1發(fā)布更新功能介紹
引言
2023年3月1日,Pandas 發(fā)布了2.0版本。6個(gè)月后(8月30日),更新了新的2.1版。讓我們看看他有什么重要的更新。
更好的PyArrow支持
PyArrow是在Panda 2.0中新加入的后端,對于大數(shù)據(jù)來說提供了優(yōu)于NumPy的性能。Pandas 2.1增強(qiáng)了對PyArrow的支持。官方在這次更新中使用最大的高亮字體宣布 PyArrow 將是 Pandas 3.0的基礎(chǔ)依賴,這說明Panda 是認(rèn)定了PyArrow了。
映射所有數(shù)組類型時(shí)可以忽略NaN類值
在以前版本,可空類型上調(diào)用map會在存在類似nan的值時(shí)觸發(fā)錯(cuò)誤。而現(xiàn)在可以設(shè)定na_action= " ignore "參數(shù),將忽略所有類型數(shù)組中的nan值。
以下是發(fā)行說明中的一個(gè)例子:
In [5]: ser = pd.Series(["a", "b", np.nan], dtype="category") In [6]: ser.map(str.upper, na_action="ignore") Out[6]: 0 A 1 B 2 NaN dtype: category Categories (2, object): ['A', 'B'] ##no errors !
字符串的默認(rèn)類型
默認(rèn)情況下,所有字符串都存儲在具有NumPy對象dtype的列中,如果你安裝了PyArrow,則會將所有字符串推斷為PyArrow支持的字符串,這個(gè)選項(xiàng)需要使用這個(gè)參數(shù)設(shè)置:
pd.options.future.infer_string = True
Copy-On-Write改進(jìn)
寫時(shí)復(fù)制在很久以前就出現(xiàn)了。在Pandas中有時(shí)你對數(shù)據(jù)做一些操作,修改的不是數(shù)據(jù)源的副本,而是數(shù)據(jù)源本身。例子:
In [5]: pd.options.mode.copy_on_write = True In [6]: df = pd.DataFrame({"foo": [1, 2, 3], "bar": [4, 5, 6]}) In [7]: subset = df["foo"] In [8]: subset.iloc[0] = 100 In [9]: df Out[9]: foo bar 0 1 4 1 2 5 2 3 6
寫時(shí)復(fù)制是一種防止意外可變性的機(jī)制。當(dāng)從其他數(shù)據(jù)推斷數(shù)據(jù)時(shí),可以保證只更改副本。這意味著代碼將更加統(tǒng)一。Pandas將識別何時(shí)復(fù)制對象,并且只在必要時(shí)復(fù)制對象。在Pandas 2.1中,花了很多精力使許多地方的Copy-On-Write保持一致。
新的日期方法
在Pandas 2.1中,增加了一組新處理日期的新方法。
以下是一些最值得注意的方法:
- Series.dt.is_month_start,
- Series.dt.is_month_end,
- Series.dt.is_year_start,
- Series.dt.is_year_end,
- Series.dt.is_quarter_start,
- Series.dt.is_quarter_end,
- Series.dt.days_in_month,
- Series.dt.unit,
- Series.dt.normalize,
- Series.dt.day_name(),
- Series.dt.month_name(),
這些方法對我們實(shí)際應(yīng)用來說還是很好的
Python 3.9
pandas 2.1.0支持的最低版本是Python 3.9,也就是說我們?nèi)绻械桶姹镜腜ython項(xiàng)目,要盡快升級了,或者說新項(xiàng)目的話最低也要3.9了
總結(jié)
在這次更新中提到了Pandas3.0,說明官方已經(jīng)開始對它進(jìn)行設(shè)計(jì)了,而且也強(qiáng)調(diào)了PyArrow的重要性,所以要用好Pandas,PyArrow的基礎(chǔ)是需要掌握的。
以上就是Pandas 2.1發(fā)布更新功能介紹的詳細(xì)內(nèi)容,更多關(guān)于Pandas 2.1發(fā)布更新的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
ChatGLM-6B+LangChain環(huán)境部署與使用實(shí)戰(zhàn)
這篇文章主要介紹了ChatGLM-6B+LangChain環(huán)境部署與使用方法,結(jié)合實(shí)例形式詳細(xì)分析了ChatGLM-6B+LangChain環(huán)境部署相關(guān)步驟、實(shí)現(xiàn)方法與相關(guān)注意事項(xiàng),需要的朋友可以參考下2023-07-07最新解決'nvidia-smi' 不是內(nèi)部或外部命令也不是可運(yùn)行的程序
使用cmd查看電腦顯卡的信息,調(diào)用nvidia-smi查看顯卡使用情況報(bào)錯(cuò),提示'nvidia-smi' 不是內(nèi)部或外部命令,也不是可運(yùn)行的程序,本文給大家分享完美解決方案,感興趣的朋友跟隨小編一起看看吧2023-01-01python 監(jiān)聽salt job狀態(tài),并任務(wù)數(shù)據(jù)推送到redis中的方法
今天小編就為大家分享一篇python 監(jiān)聽salt job狀態(tài),并任務(wù)數(shù)據(jù)推送到redis中的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-01-01Python強(qiáng)化練習(xí)之Tensorflow2 opp算法實(shí)現(xiàn)月球登陸器
在面向?qū)ο蟪霈F(xiàn)之前,我們采用的開發(fā)方法都是面向過程的編程(OPP)。面向過程的編程中最常用的一個(gè)分析方法是“功能分解”。我們會把用戶需求先分解成模塊,然后把模塊分解成大的功能,再把大的功能分解成小的功能,整個(gè)需求就是按照這樣的方式,最終分解成一個(gè)一個(gè)的函數(shù)2021-10-10Python3變量與基本數(shù)據(jù)類型用法實(shí)例分析
這篇文章主要介紹了Python3變量與基本數(shù)據(jù)類型用法,結(jié)合實(shí)例形式分析了Python3保留字、標(biāo)識符、變量、基本數(shù)據(jù)類型及相關(guān)操作技巧,需要的朋友可以參考下2020-02-02python scipy求解非線性方程的方法(fsolve/root)
今天小編就為大家分享一篇python scipy求解非線性方程的方法(fsolve/root),具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-11-11