Pandas數(shù)據(jù)類型的用法

本篇內(nèi)容主要講解“Pandas數(shù)據(jù)類型的用法”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“Pandas數(shù)據(jù)類型的用法”吧!

我們提供的服務(wù)有:成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、微信公眾號(hào)開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、民權(quán)ssl等。為上1000+企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的民權(quán)網(wǎng)站制作公司

大多數(shù)情況下,Pandas使用NumPy數(shù)組、Series或DataFrame里某列的數(shù)據(jù)類型。NumPy支持float、int、bool、timedelta[ns]、datetime64[ns],NumPy是不支持帶時(shí)區(qū)信息的datetime。

Pandas與第三方支持庫擴(kuò)充了NumPy類型系統(tǒng),接下來我們主要來介紹Pandas的內(nèi)部擴(kuò)展。

Pandas的擴(kuò)展類型,如下表所示

Pandas數(shù)據(jù)類型的用法

Pandas用object存儲(chǔ)字符串。

雖然,object數(shù)據(jù)類型能夠存儲(chǔ)任何對象,但我們要盡量避免這樣做。

DataFrame的dtypes屬性用起來很方便,以Series形式返回每列的數(shù)據(jù)類型。

Pandas數(shù)據(jù)類型的用法

要查看Series的數(shù)據(jù)類型,用dtype屬性。

Pandas數(shù)據(jù)類型的用法

Pandas對象單列中含多種類型的數(shù)據(jù)時(shí),該列的數(shù)據(jù)類型為可適配于各類數(shù)據(jù)的數(shù)據(jù)類型,通常為object。

Pandas數(shù)據(jù)類型的用法

DataFrame.dtypes.value_用于統(tǒng)計(jì)DataFrame里不同數(shù)據(jù)類型的列數(shù)。

Pandas數(shù)據(jù)類型的用法

多種數(shù)值型數(shù)據(jù)類型可以在DataFrame里共存。如果只傳遞一種數(shù)據(jù)類型,不論是通過dtype關(guān)鍵字直接傳遞,還是通過ndarray或Series傳遞,都會(huì)保存至DataFrame操作。此外,不同數(shù)值型數(shù)據(jù)類型不會(huì)并和。

Pandas數(shù)據(jù)類型的用法

默認(rèn)值

整數(shù)的默認(rèn)類型為int64,浮點(diǎn)數(shù)的默認(rèn)類型為float64,這里的默認(rèn)值與系統(tǒng)平臺(tái)無關(guān),不管是32位系統(tǒng),還是64位系統(tǒng)都是一樣的。下列代碼返回的結(jié)果都是int64:

Pandas數(shù)據(jù)類型的用法

但是我們要注意,NumPy創(chuàng)建數(shù)組時(shí),會(huì)根據(jù)系統(tǒng)選擇類型。下列代碼在32位系統(tǒng)上將返回int32。

Pandas數(shù)據(jù)類型的用法

向上轉(zhuǎn)型

與其它類型合并時(shí),用的是向上轉(zhuǎn)型,指的是從現(xiàn)有類型轉(zhuǎn)換為另一種類型,如int轉(zhuǎn)換為float。

Pandas數(shù)據(jù)類型的用法

轉(zhuǎn)DataFrame.to_numpy()返回多個(gè)數(shù)據(jù)類型里用得最多的數(shù)據(jù)類型,這里指的是,輸出結(jié)果的數(shù)據(jù)類型,適用于所有同構(gòu)NumPy數(shù)組的數(shù)據(jù)類型。此處強(qiáng)制執(zhí)行向上型。

Pandas數(shù)據(jù)類型的用法

astype

astype()方法顯式地把一種數(shù)據(jù)類型轉(zhuǎn)換為另一種,默認(rèn)操作為 復(fù)制數(shù)據(jù),就算數(shù)據(jù)類型沒有改變也會(huì)復(fù)制數(shù)據(jù),copy=False改變默認(rèn)操作模式。此外,astype無效時(shí),會(huì)觸發(fā)異常。

向上轉(zhuǎn)型一般都遵循NumPy規(guī)則,操作中含有兩種不同類型地?cái)?shù)據(jù)時(shí),返回更為通用地那種數(shù)據(jù)類型。

Pandas數(shù)據(jù)類型的用法

用astype把一列或多列轉(zhuǎn)換為指定類型。

Pandas數(shù)據(jù)類型的用法

astype通過字典指定哪些列轉(zhuǎn)換為哪些類型。

Pandas數(shù)據(jù)類型的用法

Pandas數(shù)據(jù)類型的用法

注意用astype與loc()為部分列轉(zhuǎn)換指定類型時(shí),會(huì)發(fā)生向上轉(zhuǎn)型。

loc()嘗試分配當(dāng)前地?cái)?shù)據(jù)類型,而[]則會(huì)從右方獲取數(shù)據(jù)類型并進(jìn)行覆蓋。因此,下列代碼會(huì)發(fā)生意料之外地結(jié)果:

Pandas數(shù)據(jù)類型的用法

對象轉(zhuǎn)換

Pandas提供了多種函數(shù)可以把object從一種數(shù)據(jù)類型轉(zhuǎn)換為另一種類型。這是因?yàn)椋瑪?shù)據(jù)有時(shí)存儲(chǔ)的是正確類型,但在保存時(shí)卻存成了object類型,此時(shí),用DataFrame.infer_objects()

與Series.infer_objects()方法即可把數(shù)據(jù)轉(zhuǎn)換為正確的類型。

Pandas數(shù)據(jù)類型的用法

因?yàn)閿?shù)據(jù)被轉(zhuǎn)置,所以把原始列的數(shù)據(jù)類型改成了object,但使用infer_objects后就變正確了。

Pandas數(shù)據(jù)類型的用法

下列函數(shù)可以應(yīng)用于一維數(shù)組與標(biāo)量,執(zhí)行硬轉(zhuǎn)換,把對象轉(zhuǎn)換為指定類型。

to_numeric()轉(zhuǎn)換為數(shù)值型

Pandas數(shù)據(jù)類型的用法

to_datetime()轉(zhuǎn)換為datetime對象

Pandas數(shù)據(jù)類型的用法

to_timedelta()轉(zhuǎn)換為timedelta對象。

Pandas數(shù)據(jù)類型的用法

如需強(qiáng)制轉(zhuǎn)換,則要加入error參數(shù),指定Pandas怎樣處理不能轉(zhuǎn)換為預(yù)期類型或?qū)ο蟮臄?shù)據(jù)。errors參數(shù)的默認(rèn)值為False,指定的是在轉(zhuǎn)換過程中,遇到任何問題都觸發(fā)錯(cuò)誤。設(shè)置為errors=‘coerce’時(shí),pandas會(huì)忽略錯(cuò)誤,強(qiáng)制把問題數(shù)據(jù)轉(zhuǎn)換為pd.NaT(datetime與timedelta),或np.nan(數(shù)值型)。讀取數(shù)據(jù)時(shí),如果大部分要轉(zhuǎn)換的數(shù)據(jù)是數(shù)值型或detetime,這種操作非常有用,但偶爾也會(huì)有非制式數(shù)據(jù)混合在一起,可能會(huì)導(dǎo)致展示數(shù)據(jù)缺失:

Pandas數(shù)據(jù)類型的用法

error參數(shù)還有第三個(gè)選項(xiàng),error=’ignore’。轉(zhuǎn)換數(shù)據(jù)時(shí)會(huì)忽略錯(cuò)誤,直接輸出問題數(shù)據(jù):

Pandas數(shù)據(jù)類型的用法

執(zhí)行轉(zhuǎn)換操作時(shí),to_numeric還有一個(gè)參數(shù),downcast,即向下轉(zhuǎn)型,可以把數(shù)值型轉(zhuǎn)換為減少內(nèi)存占用的數(shù)據(jù)類型:

Pandas數(shù)據(jù)類型的用法

上述方法僅能應(yīng)用于一維數(shù)組、列表或標(biāo)量;不能直接用于DataFrame等多維對象。不過,用apply(),可以快速為每列應(yīng)用函數(shù):

Pandas數(shù)據(jù)類型的用法

到此,相信大家對“Pandas數(shù)據(jù)類型的用法”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

標(biāo)題名稱:Pandas數(shù)據(jù)類型的用法
URL鏈接:http://muchs.cn/article22/jehsjc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供、網(wǎng)站營銷、響應(yīng)式網(wǎng)站虛擬主機(jī)、動(dòng)態(tài)網(wǎng)站搜索引擎優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)