欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Pandas數(shù)據(jù)結(jié)構(gòu)之Series的使用

 更新時(shí)間:2022年03月31日 11:48:06   作者:Jackson_Wang  
本文主要介紹了Pandas數(shù)據(jù)結(jié)構(gòu)之Series的使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

一. Series 簡(jiǎn)介

Series是一種類似于一維數(shù)組的對(duì)象,是由一組數(shù)據(jù)(各種NumPy數(shù)據(jù)類型)以及一組與之相關(guān)的數(shù)據(jù)標(biāo)簽(即索引)組成。僅由一組數(shù)據(jù)也可產(chǎn)生簡(jiǎn)單的Series對(duì)象

Series 總的來說就是帶標(biāo)簽的一維數(shù)組,可存儲(chǔ)整數(shù)、浮點(diǎn)數(shù)、字符串、Python對(duì)象等類型的數(shù)據(jù)。標(biāo)簽軸通常叫做索引。

二. 實(shí)例化 Series

2.1 使用一維數(shù)組實(shí)例化

用一維數(shù)組實(shí)例化Series時(shí),索引長(zhǎng)度必須與數(shù)組長(zhǎng)度一致。沒有指定索引時(shí),Pandas會(huì)幫我們創(chuàng)建默認(rèn)的數(shù)值型索引。

In [1]: s1 = pd.Series([1, 2, 3, 4])
Out[1]:
0	1
1	2
2	3
3	4
dtype: int64

In [2]: s2 = pd.Series([1, 2, 3, 4], index=['a', 'b', 'c', 'd'])
Out[2]:
a	1
b	2
c	3
d	4
dtype: int64

注意: Pandas 是支持重復(fù)索引的。但我們也可以重置索引,具體操作方法在后續(xù)章節(jié)中會(huì)給出。

2.2 使用字典實(shí)例化

使用字典實(shí)例化Series時(shí), 如果未傳入索引,則索引的值為字典的key:

In [1]: pd.Series({'i': 0, 'j': 1, 'k': 2})
Out[1]: 
i    0
j    1
k    2
dtype: int64

2.3 使用標(biāo)量例化

使用標(biāo)量值實(shí)例化時(shí),必須提供索引。Series 按索引長(zhǎng)度重復(fù)該標(biāo)量值。

In [1]: pd.Series(6, index=[0, 1, 2])
Out[1]: 
0    6
1    6
2    6
dtype: int64

三.Series 簡(jiǎn)單使用

3.1 為Series添加Name屬性

在實(shí)例化Series時(shí),可以傳入name參數(shù)為Series添加name屬性。同時(shí),Seires也支持重命名:

In [1]: s = pd.Series(6, index=[0, 1, 2], name='six')
Out[1]: 
0    6
1    6
2    6
Name: six, dtype: int64

In [2]: s.name
Out[2]: 'six'

In [3]: s = s.rename('sixsixsix')
In [4]: s.name
Out[4]: 'sixsixsix'

3.2 基于位置的切片

Series提供了類似于Python列表的切片方式:

In[0]: s = pd.Series([1, 2, 3, 4], index=['a', 'b', 'c', 'd'])
In[1]: s[0:2] 	#取下標(biāo)為0和1的兩個(gè)數(shù)據(jù)(不包括2,也就是從第一個(gè)開始取,取兩個(gè)數(shù)據(jù))
Out[1]:
a    1
b    2
dtype: int64

In[2]: s[:3] 	#取前三個(gè)數(shù)據(jù)
Out[2]:
a    1
b    2
c    3
dtype: int64

In[3]: s[-2:] 	#取最后兩個(gè)數(shù)據(jù)(也可以理解為從倒查第二個(gè)數(shù)據(jù)一直取到末尾)
Out[3]:
c    3
d    4
dtype: int64

In[4]: s[[0,2,3]] 	#取第1、3、4這個(gè)三個(gè)數(shù)據(jù)(注意下標(biāo)是從0開始的,轉(zhuǎn)換為位置時(shí)需+1)
Out[4]:
a    1
c    3
d    4
dtype: int64		#注意:如果輸入的位置大于列表的長(zhǎng)度則會(huì)報(bào)出“indexers are out-of-bounds”異常

3.3 基于索引的切片

Series可使用索引標(biāo)簽的值來提取值:

In [0]:s = pd.Series([1, 2, 3, 4], index=['a', 'b', 'c', 'd'])
In [1]: s['a'] 	#提取s中,標(biāo)簽為a的值
Out[1]:
a    1
dtype: int64

In [1]: s[['a', 'b', 'c']] 	#提取s中,標(biāo)簽為a, b, c的值
Out[1]:
a    1
b    2
c    3
dtype: int64

如果傳入的索引標(biāo)簽的值不在Seires的軸索引中,那將會(huì)報(bào) KeyError 異常,這里建議大家使用Series的 get 方法獲取值,如果不存在,則會(huì)返回None,同時(shí)也可設(shè)置default參數(shù),用于不存在時(shí)的默認(rèn)返回值。

In [0]: s = pd.Series([1, 2, 3, 4], index=['a', 'b', 'c', 'd'])
In [1]: s['f'] 	#提取s中,標(biāo)簽為f的值, f不存在,將會(huì)報(bào)出異常
Out[1]:KeyError

In [2]:s.get('f') #提取s中,標(biāo)簽為f的值, 若f不存在,默認(rèn)返回None
Out[2]:None

In [3]:s.get('f'. default=-1) #提取s中,標(biāo)簽為f的值, 若f不存在,返回-1
Out[3]:-1

3.4 基于條件的切片

In[0]: s = pd.Series([1, 2, 3, 4], index=['a', 'b', 'c', 'd'])
In[1]: s[s < 2] 	#提取s中,小于2的值
Out[1]:
a    1
b    2
dtype: int64

In[1]: s[s> s.mean()] 	#提取s中,大于平均數(shù)的值
Out[1]:
c    3
d    4
dtype: int64

In[1]: s[s.between(1, 3, inclusive=False)] 	#提取s中,值介于1,3之間的數(shù)據(jù)(不包含1,3)
Out[1]:
b    2
dtype: int64

在提取區(qū)間數(shù)據(jù)時(shí),如果想讓兩端的值包含其中(滿足兩端的值也被提取出來),只需要把 inclusive 參數(shù)的值賦為True

3.5 其他操作

Series 不用循環(huán)也可以像操作單個(gè)數(shù)值一樣快速進(jìn)行數(shù)學(xué)運(yùn)算:

In[0]: s = pd.Series([1, 2, 3, 4], index=['a', 'b', 'c', 'd'])
In[1]: s + s
Out[1]:
a    2
b    4
c    6
d    8
dtype: int64

In[2]: s - 1
Out[2]:
a    0
b    1
c    2
d    3
dtype: int64

Series 之間的操作會(huì)自動(dòng) 基于標(biāo)簽 對(duì)齊數(shù)據(jù). 如果一個(gè)Series中的標(biāo)簽在另一個(gè)Series中不存在,那么計(jì)算得到的結(jié)果將是NaN,即缺失值,有缺失值NaN的處理在后續(xù)章節(jié)也會(huì)講到。因此,我們不用顧及執(zhí)行操作的Series是否有相同的標(biāo)簽。 Pandas數(shù)據(jù)結(jié)構(gòu)集成的數(shù)據(jù)對(duì)齊的功能,是Pandas區(qū)別于大多數(shù)標(biāo)簽型數(shù)據(jù)處理工具的重要特性。

In[0]: s1 = pd.Series([1, 2, 3, 4], index=['a', 'b', 'c', 'd'])
In[0]: s2 = pd.Series([3, 6, 11], index=['a', 'b', 'f'])
In[1]: s1 + s2
Out[1]:
a   4.0
b   8.0
c   NaN
d   NaN
f   NaN
dtype: float64

到此這篇關(guān)于Pandas數(shù)據(jù)結(jié)構(gòu)之Series的使用的文章就介紹到這了,更多相關(guān)Pandas Series使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論