更新時(shí)間:2023-09-13 來(lái)源:黑馬程序員 瀏覽量:
pandas中提供了兩個(gè)比較重要的數(shù)據(jù)結(jié)構(gòu),即Series和DataFrame,分別用于處理一維數(shù)據(jù)和二維數(shù)據(jù)。本節(jié)將針對(duì)pandas的數(shù)據(jù)結(jié)構(gòu)進(jìn)行詳細(xì)的介紹。
Series是由 pandas 庫(kù)提供的一個(gè)類,Series類對(duì)象的結(jié)構(gòu)類似于一維數(shù)組,主要由數(shù)據(jù)和索引兩部分組成,其中數(shù)據(jù)可以是任意類型,如整數(shù)、字符串、浮點(diǎn)數(shù)等。Series類對(duì)象的結(jié)構(gòu)示意如圖所示。
Series類對(duì)象的索引位于左側(cè),數(shù)據(jù)位于右側(cè)。需要說(shuō)明的是,Series類對(duì)象的索引樣式比較豐富,默認(rèn)是自動(dòng)生成的整數(shù)索引(從0開始遞增),也可以是自定義的標(biāo)簽索引(由自定義的標(biāo)簽構(gòu)成的索引)、時(shí)間索引(由日期時(shí)間構(gòu)成的索引)等。
通過(guò)Series類的構(gòu)造方法可以創(chuàng)建一維數(shù)據(jù)。Series類構(gòu)造方法的語(yǔ)法格式如下。
pandas.Series (data=None,index=None,dtype=None,nane=None,copy=False, fastpath=False)
以上構(gòu)造方法中常用參數(shù)的含義如下。
· data:表示傳入的數(shù)據(jù),可以是ndarry、列表、字典等。
· index:表示傳入的索引,必須是唯一值,且與數(shù)據(jù)的長(zhǎng)度相同。若沒有傳入索引,則創(chuàng)建的Series類對(duì)象會(huì)自動(dòng)生成0~N的整數(shù)索引。
· dtype:表示數(shù)據(jù)的類型。若未指定數(shù)據(jù)類型,pandas會(huì)根據(jù)傳入的數(shù)據(jù)自動(dòng)推斷數(shù)據(jù)類型。
· name:表示Series類對(duì)象的名稱。
· copy:表示是否復(fù)制數(shù)據(jù),默認(rèn)為Fakse。
接下來(lái),通過(guò)在Series0方法中傳人列表的方式創(chuàng)建Series類對(duì)象,代碼如下。
import pandas an pd # 導(dǎo)入pandan庫(kù) # 根據(jù)列表創(chuàng)建Series類對(duì)象 ser_obj = pd.Series(['Python','Java','PHP']) print(ser_cbj) 0 Python 1 Java 2 PHP dtype: object
從輸出結(jié)果可以看出,Series類對(duì)象的索引為0~2,即自動(dòng)生成的整數(shù)索引;數(shù)據(jù)由上至下依次為列表的各個(gè)元素,其類型為object,該類型是根據(jù)列表中元素的類型推斷出來(lái)的。
在使用Series0方法創(chuàng)建對(duì)象時(shí),可以傳人index參數(shù)指定自定義的索引,代碼如下。
In []: # 導(dǎo)入pandaa庫(kù) import pandas as pd # 創(chuàng)建Series類對(duì)象,同時(shí)為該對(duì)象指定索引 ser_obj = pd.Series(['Python', 'Java', 'PHP'], index = ['one', 'two', 'three']} print(ser_obj) one Python two Java three PHP dtype: cbject
從輸出結(jié)果可以看出,Series類對(duì)象的索引不再是整數(shù)索引,而是由 index參數(shù)指定的標(biāo)簽索引。
使用Series()方法創(chuàng)建對(duì)象時(shí)可以傳入字典,此時(shí)字典的鍵將作為Series類對(duì)象的索引。字典的值將作為Series類對(duì)象的數(shù)據(jù),代碼如下。
In []: data =('one':'Python', 'two': 'Java','three': 'PHP') ser_cbj2 = pd.Series(data) # 根據(jù)字典創(chuàng)建Series類對(duì)象 print(ser cbj2) one Python two Java three PHP dtype: object
圖解matplotlib下載安裝[贈(zèng)送26集matplotlib數(shù)據(jù)可視化教程]
2023-09-13如何實(shí)現(xiàn)Flume數(shù)據(jù)傳輸?shù)谋O(jiān)控?
2023-09-12學(xué)歷低可以學(xué)Python嗎?Python對(duì)學(xué)歷的要求
2023-09-11Python里面match()和search()的區(qū)別?
2023-09-06Python里面如何實(shí)現(xiàn)tuple和list的轉(zhuǎn)換?
2023-09-05全面擁抱云平臺(tái),Python+大數(shù)據(jù)開發(fā)V4.0課程升級(jí)
2023-08-23