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

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

3)通過字典創(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)通過一維數(shù)組創(chuàng)建Series
x = np.arange(1,6) y = pd.Series(x) display(y)
結(jié)果如下:

5)通過標(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中常用屬性說明
1)Series和ndarray中常用屬性對(duì)比
* ndim 返回Series的維數(shù);
* shape 返回Series的形狀;
* dtype 返回Series中元素的數(shù)據(jù)類型;
* 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的名稱 或 返回Series索引的名稱;* ndim 返回?cái)?shù)組的維數(shù); * shape 返回?cái)?shù)組的形狀; * dtype 返回?cái)?shù)組元素的數(shù)據(jù)類型; * 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名稱和Series索引名稱
x = pd.Series([1,3,5,7,9]) display(x) x.name = "Series的名稱" x.index.name= "Series索引的名稱" display(x) display(x.name) display(x.index.name)
結(jié)果如下:

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

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

從上圖中可以看出,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自動(dòng)化辦公之清理重復(fù)文件詳解
這篇文章主要為大家詳細(xì)介紹了如何利用Python清理重復(fù)的文件,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Python有一定幫助,需要的可以參考一下2022-05-05
20行python代碼實(shí)現(xiàn)人臉識(shí)別
這篇文章主要介紹了python人臉識(shí)別,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05
PHP webshell檢查工具 python實(shí)現(xiàn)代碼
Web安全應(yīng)急響應(yīng)中,不免要檢查下服務(wù)器上是否被上傳了webshell,手工檢查比較慢,就寫了個(gè)腳本來檢查了。Windows平臺(tái)下已經(jīng)有了lake2寫的雷克圖的了,一般的檢查也夠用了,寫了個(gè)Linux下面的,用python寫的。2009-09-09
Python DES加密實(shí)現(xiàn)原理及實(shí)例解析
這篇文章主要介紹了Python DES加密實(shí)現(xiàn)原理及實(shí)例解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-07-07

