久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

Pandas Series入門(mén)教程

 碼農(nóng)9527 2021-09-28

Series結(jié)構(gòu),,也稱Series序列,,是Pandas常用的數(shù)據(jù)結(jié)構(gòu)之一,它是一種類似于一維數(shù)組的結(jié)構(gòu),,由一組數(shù)據(jù)值(value)和一組標(biāo)簽組成,,其中標(biāo)簽與數(shù)據(jù)值之間是一一對(duì)應(yīng)的關(guān)系。

    Series可以保存任何數(shù)據(jù)類型,,比如整數(shù),、字符串,、浮點(diǎn)數(shù),、Python對(duì)象等,它的標(biāo)簽?zāi)J(rèn)為整數(shù),,從0開(kāi)始依次遞增,。Series的結(jié)構(gòu)圖,如下所示:

    通過(guò)標(biāo)簽我們可以更加直觀地查看數(shù)據(jù)所在的索引位置,。

    創(chuàng)建Series對(duì)象

    Pandas使用Series()函數(shù)來(lái)創(chuàng)建Series對(duì)象,,通過(guò)這個(gè)對(duì)象可以調(diào)用相應(yīng)的方法和屬性,從而達(dá)到處理數(shù)據(jù)的目的:

import pandas as pd
s=pd.Series( data, index, dtype, copy)12復(fù)制代碼類型:[python]

    參數(shù)說(shuō)明如下所示:

參數(shù)名稱描述
data輸入的數(shù)據(jù),,可以是列表,、常量,、ndarray 數(shù)組等。
index索引值必須是惟一的,,如果沒(méi)有傳遞索引,,則默認(rèn)為 np.arrange(n)。
dtypedtype表示數(shù)據(jù)類型,,如果沒(méi)有提供,,則會(huì)自動(dòng)判斷得出。
copy表示對(duì) data 進(jìn)行拷貝,,默認(rèn)為 False,。

    我們也可以使用數(shù)組、字典,、標(biāo)量值或者Python對(duì)象來(lái)創(chuàng)建Series對(duì)象,。下面展示了創(chuàng)建Series對(duì)象的不同方法:

    1)創(chuàng)建一個(gè)空Series對(duì)象

    使用以下方法可以創(chuàng)建一個(gè)空的Series對(duì)象,如下所示:

import pandas as pd#輸出數(shù)據(jù)為空s = pd.Series()
print(s)1234復(fù)制代碼類型:[python]

    輸出結(jié)果如下:

Series([], dtype: float64)1復(fù)制代碼類型:[python]

    2)ndarray創(chuàng)建Series對(duì)象

    ndarray是NumPy中的數(shù)組類型,,當(dāng)data是ndarry時(shí),,傳遞的索引必須具有與數(shù)組相同的長(zhǎng)度。假如沒(méi)有給index參數(shù)傳參,,在默認(rèn)情況下,,索引值將使用是range(n)生成,其中n代表數(shù)組長(zhǎng)度,,如下所示:

[0,1,2,3…. range(len(array))-1]1復(fù)制代碼類型:[python]

    使用默認(rèn)索引,,創(chuàng)建Series序列對(duì)象:

import pandas as pdimport numpy as np
data = np.array(['a','b','c','d'])
s = pd.Series(data)print (s)12345復(fù)制代碼類型:[python]

    輸出結(jié)果如下:

0   a1   b2   c3   d
dtype: object12345復(fù)制代碼類型:[python]

    上述示例中沒(méi)有傳遞任何索引,所以索引默認(rèn)從0開(kāi)始分配,,其索引范圍為0到len(data)-1,,即0到3。這種設(shè)置方式被稱為“隱式索引”,。

    除了上述方法外,,你也可以使用“顯式索引”的方法定義索引標(biāo)簽,示例如下:

import pandas as pdimport numpy as np
data = np.array(['a','b','c','d'])#自定義索引標(biāo)簽(即顯示索引)s = pd.Series(data,index=[100,101,102,103])
print(s)123456復(fù)制代碼類型:[python]

    輸出結(jié)果:

100  a101  b102  c103  d
dtype: object12345復(fù)制代碼類型:[python]

    3)dict創(chuàng)建Series對(duì)象

    您可以把dict作為輸入數(shù)據(jù),。如果沒(méi)有傳入索引時(shí)會(huì)按照字典的鍵來(lái)構(gòu)造索引,;反之,當(dāng)傳遞了索引時(shí)需要將索引標(biāo)簽與字典中的值一一對(duì)應(yīng),。

    下面兩組示例分別對(duì)上述兩種情況做了演示,。

    示例1,沒(méi)有傳遞索引時(shí):

import pandas as pdimport numpy as np
data = {'a' : 0., 'b' : 1., 'c' : 2.}
s = pd.Series(data)
print(s)12345復(fù)制代碼類型:[python]

    輸出結(jié)果:

a 0.0b 1.0c 2.0dtype: float641234復(fù)制代碼類型:[python]

  示例2,,為index參數(shù)傳遞索引時(shí):

import pandas as pdimport numpy as np
data = {'a' : 0., 'b' : 1., 'c' : 2.}
s = pd.Series(data,index=['b','c','d','a'])
print(s)12345復(fù)制代碼類型:[python]

    輸出結(jié)果:

b 1.0c 2.0d NaN
a 0.0dtype: float6412345復(fù)制代碼類型:[python]

    當(dāng)傳遞的索引值無(wú)法找到與其對(duì)應(yīng)的值時(shí),,使用NaN(非數(shù)字)填充。

    4)標(biāo)量創(chuàng)建Series對(duì)象

    如果data是標(biāo)量值,,則必須提供索引,,示例如下:

import pandas as pdimport numpy as np
s = pd.Series(5, index=[0, 1, 2, 3])
print(s)1234復(fù)制代碼類型:[python]

    輸出如下:

0  51  52  53  5dtype: int6412345復(fù)制代碼類型:[python]

    標(biāo)量值按照index的數(shù)量進(jìn)行重復(fù),,并與其一一對(duì)應(yīng)。

    訪問(wèn)Series數(shù)據(jù)

    上述講解了創(chuàng)建Series對(duì)象的多種方式,,那么我們應(yīng)該如何訪問(wèn)Series序列中元素呢,?分為兩種方式,一種是位置索引訪問(wèn),;另一種是索引標(biāo)簽訪問(wèn),。

    1)位置索引訪問(wèn)

    這種訪問(wèn)方式與ndarray和list相同,使用元素自身的下標(biāo)進(jìn)行訪問(wèn),。我們知道數(shù)組的索引計(jì)數(shù)從0開(kāi)始,,這表示第一個(gè)元素存儲(chǔ)在第0個(gè)索引位置上,以此類推,,就可以獲得Series序列中的每個(gè)元素,。下面看一組簡(jiǎn)單的示例:

import pandas as pd
s = pd.Series([1,2,3,4,5],index = ['a','b','c','d','e'])
print(s[0])  #位置下標(biāo)print(s['a']) #標(biāo)簽下標(biāo)1234復(fù)制代碼類型:[python]

    輸出結(jié)果:

1112復(fù)制代碼類型:[java]

    通過(guò)切片的方式訪問(wèn)Series序列中的數(shù)據(jù),示例如下:

import pandas as pd
s = pd.Series([1,2,3,4,5],index = ['a','b','c','d','e'])
print(s[:3])123復(fù)制代碼類型:[python]

    輸出結(jié)果:

a  1b  2c  3dtype: int641234復(fù)制代碼類型:[python]

    如果想要獲取最后三個(gè)元素,,也可以使用下面的方式:

import pandas as pd
s = pd.Series([1,2,3,4,5],index = ['a','b','c','d','e'])
print(s[-3:])123復(fù)制代碼類型:[python]

    輸出結(jié)果:

c  3d  4e  5dtype: int641234復(fù)制代碼類型:[python]

    2)索引標(biāo)簽訪問(wèn)

    Series類似于固定大小的dict,,把index中的索引標(biāo)簽當(dāng)做key,而把Series序列中的元素值當(dāng)做value,,然后通過(guò)index索引標(biāo)簽來(lái)訪問(wèn)或者修改元素值,。

    示例1,使用索標(biāo)簽訪問(wèn)單個(gè)元素值:

import pandas as pd
s = pd.Series([6,7,8,9,10],index = ['a','b','c','d','e'])
print(s['a'])123復(fù)制代碼類型:[python]

    輸出結(jié)果:

61復(fù)制代碼類型:[python]

    示例2,,使用索引標(biāo)簽訪問(wèn)多個(gè)元素值

import pandas as pd
s = pd.Series([6,7,8,9,10],index = ['a','b','c','d','e'])
print(s[['a','c','d']])123復(fù)制代碼類型:[python]

    輸出結(jié)果:

a    6c    8d    9dtype: int641234復(fù)制代碼類型:[python]

    示例3,,如果使用了index中不包含的標(biāo)簽,則會(huì)觸發(fā)異常:

import pandas as pd
s = pd.Series([6,7,8,9,10],index = ['a','b','c','d','e'])#不包含f值print(s['f'])1234復(fù)制代碼類型:[python]

    輸出結(jié)果:

......
KeyError: 'f'12復(fù)制代碼類型:[python]

    Series常用屬性

    下面我們介紹Series的常用屬性和方法,。在下表列出了Series對(duì)象的常用屬性,。

名稱屬性
axes以列表的形式返回所有行索引標(biāo)簽。
dtype返回對(duì)象的數(shù)據(jù)類型,。
empty返回一個(gè)空的 Series 對(duì)象,。
ndim返回輸入數(shù)據(jù)的維數(shù)。
size返回輸入數(shù)據(jù)的元素?cái)?shù)量,。
values以 ndarray 的形式返回 Series 對(duì)象,。
index返回一個(gè)RangeIndex對(duì)象,用來(lái)描述索引的取值范圍,。

    現(xiàn)在創(chuàng)建一個(gè)Series對(duì)象,,并演示如何使用上述表格中的屬性,。如下所示:

import pandas as pdimport numpy as np
s = pd.Series(np.random.randn(5))
print(s)1234復(fù)制代碼類型:[python]

    輸出結(jié)果:

0    0.8980971    0.7302102    2.3074013   -1.7230654    0.346728dtype: float64123456復(fù)制代碼類型:[python]

    上述示例的行索引標(biāo)簽是[0,1,2,3,4],。

    1)axes

import pandas as pdimport numpy as np
s = pd.Series(np.random.randn(5))print ("The axes are:")
print(s.axes)12345復(fù)制代碼類型:[python]

    輸出結(jié)果

The axes are:
[RangeIndex(start=0, stop=5, step=1)]12復(fù)制代碼類型:[python]

    2)dtype

import pandas as pdimport numpy as np
s = pd.Series(np.random.randn(5))print ("The dtype is:")
print(s.dtype)12345復(fù)制代碼類型:[python]

    輸出結(jié)果:

The dtype is:
float6412復(fù)制代碼類型:[python]

    3)empty

    返回一個(gè)布爾值,用于判斷數(shù)據(jù)對(duì)象是否為空,。示例如下:

import pandas as pdimport numpy as np
s = pd.Series(np.random.randn(5))
print("是否為空對(duì)象?")print (s.empty)12345復(fù)制代碼類型:[python]

    輸出結(jié)果:

是否為空對(duì)象?False12復(fù)制代碼類型:[python]

    4)ndim

    查看序列的維數(shù),。根據(jù)定義,,Series是一維數(shù)據(jù)結(jié)構(gòu),因此它始終返回1,。

import pandas as pdimport numpy as np
s = pd.Series(np.random.randn(5))print (s)print (s.ndim)12345復(fù)制代碼類型:[python]

    輸出結(jié)果:

0    0.3114851    1.7488602   -0.0227213   -0.1292234   -0.489824dtype: float6411234567復(fù)制代碼類型:[python]

    5)size

    返回Series對(duì)象的大小(長(zhǎng)度),。

import pandas as pdimport numpy as np
s = pd.Series(np.random.randn(3))print (s)#series的長(zhǎng)度大小print(s.size)123456復(fù)制代碼類型:[python]

    輸出結(jié)果:

0   -1.8662611   -0.6367262    0.586037dtype: float64312345復(fù)制代碼類型:[python]

    6)values

    以數(shù)組的形式返回Series對(duì)象中的數(shù)據(jù)。

import pandas as pdimport numpy as np
s = pd.Series(np.random.randn(6))
print(s)
print("輸出series中數(shù)據(jù)")
print(s.values)123456復(fù)制代碼類型:[python]

    輸出結(jié)果:

0   -0.5021001    0.6961942   -0.9820633    0.4164304   -1.3845145    0.444303dtype: float64
輸出series中數(shù)據(jù)
[-0.50210028  0.69619407 -0.98206327  0.41642976 -1.38451433  0.44430257]123456789復(fù)制代碼類型:[python]

    7)index

    該屬性用來(lái)查看Series中索引的取值范圍,。示例如下:

#顯示索引import pandas as pd
s=pd.Series([1,2,5,8],index=['a','b','c','d'])
print(s.index)#隱式索引s1=pd.Series([1,2,5,8])
print(s1.index)1234567復(fù)制代碼類型:[python]

    輸出結(jié)果:

隱式索引:
Index(['a', 'b', 'c', 'd'], dtype='object')
顯示索引:
RangeIndex(start=0, stop=4, step=1)1234復(fù)制代碼類型:[python]

    Series常用方法

    1)head()&tail()查看數(shù)據(jù)

    如果想要查看Series的某一部分?jǐn)?shù)據(jù),,可以使用head()或者tail()方法。其中head()返回前n行數(shù)據(jù),,默認(rèn)顯示前5行數(shù)據(jù),。示例如下:

import pandas as pdimport numpy as np
s = pd.Series(np.random.randn(5))print ("The original series is:")print (s)#返回前三行數(shù)據(jù)print (s.head(3))1234567復(fù)制代碼類型:[python]

    輸出結(jié)果:

原系列輸出結(jié)果:0    1.2496791    0.6364872   -0.9876213    0.9996134    1.607751head(3)輸出:
dtype: float640    1.2496791    0.6364872   -0.987621dtype: float64123456789101112復(fù)制代碼類型:[python]

    tail()返回的是后n行數(shù)據(jù),默認(rèn)為后5行,。示例如下:

import pandas as pdimport numpy as np
s = pd.Series(np.random.randn(4))#原seriesprint(s)#輸出后兩行數(shù)據(jù)print (s.tail(2))1234567復(fù)制代碼類型:[python]

    輸出結(jié)果:

原Series輸出:0    0.0533401    2.1658362   -0.7191753   -0.035178輸出后兩行數(shù)據(jù):
dtype: float642   -0.7191753   -0.035178dtype: float6412345678910復(fù)制代碼類型:[python]

    2)isnull()&nonull()檢測(cè)缺失值

    isnull()和nonull()用于檢測(cè)Series中的缺失值,。所謂缺失值,顧名思義就是值不存在,、丟失,、缺少。

    isnull():如果為值不存在或者缺失,,則返回True,。

    notnull():如果值不存在或者缺失,則返回False,。

    其實(shí)不難理解,,在實(shí)際的數(shù)據(jù)分析任物中,數(shù)據(jù)的收集往往要經(jīng)歷一個(gè)繁瑣的過(guò)程,。在這個(gè)過(guò)程中難免會(huì)因?yàn)橐恍┎豢煽沽?,或者人為因素?dǎo)致數(shù)據(jù)丟失的現(xiàn)象。這時(shí),,我們可以使用相應(yīng)的方法對(duì)缺失值進(jìn)行處理,,比如均值插值、數(shù)據(jù)補(bǔ)齊等方法,。上述兩個(gè)方法就是幫助我們檢測(cè)是否存在缺失值,。示例如下:

import pandas as pd#None代表缺失數(shù)據(jù)s=pd.Series([1,2,5,None])
print(pd.isnull(s))  #是空值返回Trueprint(pd.notnull(s)) #空值返回False12345復(fù)制代碼類型:[python]

    輸出結(jié)果:

0    False1    False2    False3     Truedtype: boolnotnull():0     True1     True2     True3    Falsedtype: bool

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多