關(guān)于Pandas的Series創(chuàng)建方式和常用屬性
1、list、ndarray、Series的簡(jiǎn)單比較
① list列表,列表中的元素可以是不同的數(shù)據(jù)類(lèi)型,使用從0開(kāi)始的整數(shù)值作為默認(rèn)索引;
② ndarray數(shù)組,數(shù)組中的元素必須是同種數(shù)據(jù)類(lèi)型,也是使用從0開(kāi)始的整數(shù)值作為默認(rèn)索引;
③ Series序列,是一種一維的結(jié)構(gòu),類(lèi)似于一維列表和ndarray中的一維數(shù)組,但是功能比他們要更為強(qiáng)大,Series由兩部分組成:索引index和數(shù)值values;
④ 一維列表和一維數(shù)組中都是采用從0開(kāi)始的整數(shù)值作為默認(rèn)索引,索引值一般不顯示的給出,但是我們可以通過(guò)索引去獲取其中的元素。對(duì)于Series來(lái)說(shuō),默認(rèn)索引也是從0開(kāi)始的整數(shù)值作為默認(rèn)索引,但是是顯示地給出,更為強(qiáng)大的是,Series中的索引可以隨意設(shè)置,方便我們?nèi)?shù)。
操作如下:
import numpy as np import pandas as pd l1 = [1,2,"中國(guó)",4.5] display(l1) display(l1[2]) a1 = np.array([1,2,5,6,8]) display(a1) display(a1[4]) s1 = pd.Series([1,3,5,7,9]) display(s1) display(s1[4]) s2 = pd.Series([1,3,5,7,9],index=["a","b","c","d","e"]) display(s2) display(s2["d"]) display(s2[3]) s3 = pd.Series([1,3,5,7,9],index=[3,4,5,6,7]) display(s3) display(s3[6])
結(jié)果如下:

通過(guò)上述測(cè)試,我們可以總結(jié)出來(lái)這第5條結(jié)論:
⑤ 創(chuàng)建Series序列時(shí),當(dāng)不指定索引的時(shí)候,默認(rèn)會(huì)生成從0開(kāi)始的整數(shù)索引;當(dāng)指定了“字符串索引”(也叫“標(biāo)簽索引”),既可以通過(guò)這個(gè)字符串索引訪(fǎng)問(wèn)元素,也可以通過(guò)原有的從0開(kāi)始的整數(shù)索引訪(fǎng)問(wèn)元素;當(dāng)指定一個(gè)“整數(shù)索引”,那么該索引會(huì)覆蓋掉原有的默認(rèn)的整數(shù)索引,只能通過(guò)這個(gè)新的整數(shù)索引訪(fǎng)問(wèn)元素,默認(rèn)的整數(shù)索引會(huì)失效。
2、Series的5種常用創(chuàng)建方式
- 語(yǔ)法:創(chuàng)建Series的語(yǔ)法:pd.Series()
- 常用參數(shù):index,用于指定新的索引;dtype,用于指定元素的數(shù)據(jù)類(lèi)型;
- 大前提:要記住Series是一個(gè)一維的結(jié)構(gòu)!?。?/li>
- 注意:當(dāng)你指定了索引,系統(tǒng)會(huì)使用這個(gè)指定索引;當(dāng)你沒(méi)有指定索引,系統(tǒng)會(huì)默認(rèn)給我們創(chuàng)建索引。
1)通過(guò)一維列表創(chuàng)建Series
x = [1,3,5,7,9] y = pd.Series(x) display(y) y1 = pd.Series(x,index=["a","b","c","d","e"],dtype=np.float32) display(y1)
結(jié)果如下:

2)通過(guò)可迭代對(duì)象創(chuàng)建Series
x = range(2,7) y = pd.Series(x) display(y)
結(jié)果如下:

3)通過(guò)字典創(chuàng)建Series
x = dict(a=22,b=18,c=35)
y = pd.Series(x)
display(y)
x1 = pd.Series({"a":1,"b":2,"c":3})
display(x1)結(jié)果如下:

4)通過(guò)一維數(shù)組創(chuàng)建Series
x = np.arange(1,6) y = pd.Series(x) display(y)
結(jié)果如下:

5)通過(guò)標(biāo)量(常數(shù))創(chuàng)建Series
x = 22 y1 = pd.Series(x) display(y1) y2 = pd.Series(x,index=list(range(5))) display(y2)
結(jié)果如下:

注意:創(chuàng)建一個(gè)含有相同元素的Series,元素的個(gè)數(shù)取決于我們?cè)O(shè)置的索引的個(gè)數(shù)。
3、Series中常用屬性說(shuō)明
1)Series和ndarray中常用屬性對(duì)比
* ndim 返回Series的維數(shù);
* shape 返回Series的形狀;
* dtype 返回Series中元素的數(shù)據(jù)類(lèi)型;
* size 返回Series中元素的個(gè)數(shù);
* itemsize 返回Series中每一個(gè)元素占用空間的大小,
以字節(jié)為單位;
* nbytes 返回Series中所有元素占用空間的大小,
以字節(jié)為單位;
* T 返回Series的轉(zhuǎn)置結(jié)果;
#注意:下面這3個(gè)屬性,在Series中才有。
* index 返回Series中的索引;
* values 返回Series中的數(shù)值;
* name 返回Series的名稱(chēng) 或 返回Series索引的名稱(chēng);* ndim 返回?cái)?shù)組的維數(shù); * shape 返回?cái)?shù)組的形狀; * dtype 返回?cái)?shù)組元素的數(shù)據(jù)類(lèi)型; * size 返回?cái)?shù)組中元素的個(gè)數(shù); * itemsize 返回?cái)?shù)組中每一個(gè)元素占用空間的大小,以字節(jié)為單位; * nbytes 返回?cái)?shù)組中所有元素占用空間的大小,以字節(jié)為單位; * T 返回?cái)?shù)組元素的轉(zhuǎn)置結(jié)果;
操作如下:
s = pd.Series([1,3,5,7,9]) display(s) display(s.ndim) display(s.shape) display(s.dtype) display(s.size) display(s.itemsize) display(s.nbytes) display(s.T)
結(jié)果如下:

注意:
由于Series是一維的結(jié)構(gòu),因此Series的ndim的值肯定是1;
2)Series中特有的幾個(gè)屬性:index、values、name
① index和values屬性
x = pd.Series([1,3,5,7,9]) display(x) display(x.index) display(x.values)
結(jié)果如下:

② name屬性:動(dòng)態(tài)創(chuàng)建Serie名稱(chēng)和Series索引名稱(chēng)
x = pd.Series([1,3,5,7,9]) display(x) x.name = "Series的名稱(chēng)" x.index.name= "Series索引的名稱(chēng)" display(x) display(x.name) display(x.index.name)
結(jié)果如下:

③ 在創(chuàng)建Series的時(shí)候,指定Series名稱(chēng)
y = pd.Series([1,3,5,7,9],index=["a","b","c","d","e"],name="Series的名稱(chēng)") display(y) display(y.index.name) display(y.name)
結(jié)果如下:

注意:目前可能看不出來(lái),指定這個(gè)索引名稱(chēng)的好處在哪里,這個(gè)在學(xué)習(xí)DataFrame的時(shí)候,會(huì)得到很好的體現(xiàn)。
如果多個(gè)series放在了一起,那么必然可以構(gòu)建成一個(gè)dataframe,那么每個(gè)series的名稱(chēng)就是構(gòu)成當(dāng)前這個(gè)dataframe的column。(仔細(xì)先體會(huì)這段話(huà))
下面,我們先用一個(gè)簡(jiǎn)單的例子,說(shuō)明一下Serie名稱(chēng)的作用。

從上圖中可以看出,In[6]我們先創(chuàng)建了一個(gè)dataframe,這個(gè)dataframe可以看作是由三個(gè)Series堆積而成的。In[8]我們選取了其中一列,那么得到的就是一個(gè)Series, In[9]我們獲取這個(gè)Series的name,可以看出結(jié)果就是該列的column列名。
到此這篇關(guān)于關(guān)于Pandas的Series創(chuàng)建方式和常用屬性的文章就介紹到這了,更多相關(guān)Pandas的Series創(chuàng)建方式內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用Python的turtle模塊繪制櫻花樹(shù)的代碼示例
Python的turtle模塊是一個(gè)直觀的圖形化編程工具,讓用戶(hù)通過(guò)控制海龜在屏幕上的移動(dòng)來(lái)繪制各種形狀和圖案,在接下來(lái)的文章中,我將通過(guò)一個(gè)生動(dòng)的例子——繪制一幅櫻花樹(shù)圖畫(huà)——來(lái)深入探討turtle模塊的實(shí)用性,需要的朋友可以參考下2024-04-04
Python自動(dòng)化辦公之清理重復(fù)文件詳解
這篇文章主要為大家詳細(xì)介紹了如何利用Python清理重復(fù)的文件,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Python有一定幫助,需要的可以參考一下2022-05-05
20行python代碼實(shí)現(xiàn)人臉識(shí)別
這篇文章主要介紹了python人臉識(shí)別,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05
PHP webshell檢查工具 python實(shí)現(xiàn)代碼
Web安全應(yīng)急響應(yīng)中,不免要檢查下服務(wù)器上是否被上傳了webshell,手工檢查比較慢,就寫(xiě)了個(gè)腳本來(lái)檢查了。Windows平臺(tái)下已經(jīng)有了lake2寫(xiě)的雷克圖的了,一般的檢查也夠用了,寫(xiě)了個(gè)Linux下面的,用python寫(xiě)的。2009-09-09
Python DES加密實(shí)現(xiàn)原理及實(shí)例解析
這篇文章主要介紹了Python DES加密實(shí)現(xiàn)原理及實(shí)例解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-07-07

