pandas中Series的代碼實(shí)例解析
pandas中Series的創(chuàng)建
引用數(shù)據(jù)庫(kù)
import pandas as pd s=pd.Series( data, index, dtype, copy,name)
| 參數(shù)名稱 | 描述 |
| data | 輸入的數(shù)據(jù),可以是列表、常量、ndarray 數(shù)組等。 |
| index | 索引值必須是惟一的,如果沒(méi)有傳遞索引,則默認(rèn)為 np.arrange(n)。 |
| dtype | dtype表示數(shù)據(jù)類型,如果沒(méi)有提供,則會(huì)自動(dòng)判斷得出。 |
| copy | 表示對(duì) data 進(jìn)行拷貝,默認(rèn)為 False。 |
| name | 接收string或list。表示Series對(duì)象的名稱。默認(rèn)為None |
1)用python中的列表list創(chuàng)建:
import pandas as pd my_list=[1,2,3,4] my_Series=pd.Series(my_list) print(my_list)
輸出結(jié)果如下:
0 1
1 2
2 3
3 4
dtype: int64
2)用numpy數(shù)組創(chuàng)建
import pandas as pd import numpy as np my_array=np.array([1,2,3,4]) s=pd.Series(my_array) print(s)
輸出結(jié)果如下:
0 1
1 2
2 3
3 4
dtype: int32
3)用python中的字典dict創(chuàng)建:
import pandas as pd
data = {'a' : 0., 'b' : 1., 'c' : 2.}
s = pd.Series(data)
print(s)輸出結(jié)果如下:
a 0.0
b 1.0
c 2.0
dtype: float64
4)標(biāo)量創(chuàng)建Series對(duì)象:
如果 data 是標(biāo)量值,則必須提供索引,示例如下:
import pandas as pd s = pd.Series(5, index=[0, 1, 2, 3]) print(s)
輸出如下:
0 5
1 5
2 5
3 5
dtype: int64
5)為index參數(shù)傳遞索引:
以上面的dict方法舉例:
import pandas as pd
data = {'a' : 0., 'b' : 1., 'c' : 2.}
s = pd.Series(data,index=['b','c','d','a'])
print(s)輸出結(jié)果如下:
b 1.0
c 2.0
d NaN
a 0.0
dtype: float64
其中需要注意的是索引沒(méi)有匹配值時(shí)會(huì)返回NAN值
pandas中Series的訪問(wèn)
# 訪問(wèn)Series中數(shù)據(jù)的兩種方法 import pandas as pd s1 = pd.Series([ 75, 90, 61],index=['張三', '李四', '陳五']) print(s1[0]) #通過(guò)元素儲(chǔ)存位置訪問(wèn) print(s1['張三']) #通過(guò)指定索引訪問(wèn) # 結(jié)果均為 75
1)切片操作
數(shù)據(jù)切片的概念源于Numpy數(shù)組,Series對(duì)象使用類似NumPy中ndarray的數(shù)據(jù)訪問(wèn)方法實(shí)現(xiàn)切片操作。
#Series的切片操作 import pandas as pd s1 = pd.Series([ 75, 90, 61, 59],index=['a', 'b', 'c', 'd']) s1[1:3]
2) 通過(guò)bool數(shù)組訪問(wèn)Series數(shù)據(jù)
import pandas as pd import numpy as np my_array=np.array([1,2,3,4]) s=pd.Series(my_array,['a','b','c','d']) print(s) print(s[s.index>'a'])
輸出:
a 1
b 2
c 3
d 4
dtype: int32
b 2
c 3
d 4
dtype: int32
3)數(shù)據(jù)修改
可以直接通過(guò)賦值的方法修改Series中的對(duì)應(yīng)值。
# 修改Series中的值 import pandas as pd s1 = pd.Series([ 75, 90, 61],index=['張三', '李四', '陳五']) s1['張三'] = 60 #通過(guò)指定索引訪問(wèn) s1[1] = 60 #通過(guò)元素儲(chǔ)存位置訪問(wèn) print(s1)
輸出數(shù)據(jù):
張三 60
李四 60
陳五 61
dtype: int64
4)算術(shù)運(yùn)算
Pandas會(huì)根據(jù)索引index索引對(duì)相應(yīng)數(shù)據(jù)進(jìn)行計(jì)算。如代碼所示,可以直接對(duì)Series結(jié)構(gòu)進(jìn)行加減乘除運(yùn)算符,當(dāng)出現(xiàn)index不匹配的情況時(shí)會(huì)輸出NaN。
import pandas as pd sr1 = pd.Series([1, 2, 3, 4],['a','b','c','d']) sr2 = pd.Series([1, 5, 8, 9],['a','c','e','f']) print(sr2 - sr1)
輸出:
a 0.0
b NaN
c 2.0
d NaN
e NaN
f NaN
dtype: float64
pandas中Series的常用屬性
| 名稱 | 屬性 |
| 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)描述索引的取值范圍。 |
- values : 以 ndarray 的形式返回 Series 對(duì)象。
import pandas as pd
import numpy as np
s = pd.Series(np.random.randn(6))
print(s)
print("輸出series中數(shù)據(jù)")
print(s.values)輸出:
0 -0.502100
1 0.696194
2 -0.982063
3 0.416430
4 -1.384514
5 0.444303
dtype: float64
輸出series中數(shù)據(jù)
[-0.50210028 0.69619407 -0.98206327 0.41642976 -1.38451433 0.44430257]
- axes: 以列表的形式返回所有行索引標(biāo)簽。
import pandas as pd
import numpy as np
s = pd.Series(np.random.randn(5))
print ("The axes are:")
print(s.axes)輸出:
The axes are:
[RangeIndex(start=0, stop=5, step=1)]
Series常用方法
1)統(tǒng)計(jì)方法

2)追加Series和插入單個(gè)值
類似list,通過(guò)append方法能夠在原Series上插入(追加)新的Series。若只在原Series上插入單個(gè)值,則采用賦值方式即可
import pandas as pd
list1 = [0, 1, 2, 3, 4]
series = pd.Series(list1, index = ['a', 'b', 'c', 'd', 'e'])
series1 = pd.Series([4, 5], index = ['f', 'g'])
# 追加Series
print('在series插入series1后為:\n', series.append(series1))輸出:
在series插入series1后為:
a 3
b 1
c 2
d 3
e 4
f 4
g 5
dtype: int64
3)刪除Series元素
import pandas as pd
list1 = [0, 1, 2, 3, 4]
series = pd.Series(list1, index = ['a', 'b', 'c', 'd', 'e'])
series.drop('e', inplace = True)
print( series)輸出:
a 0
b 1
c 2
d 3
dtype: int64
4)unique()與nunique()的用法
unique()返回去重后的元素值
import pandas as pd list1 = [0, 1, 2, 4, 4] series = pd.Series(list1, index = ['a', 'b', 'c', 'd', 'e']) print(series.unique())
輸出:
[0 1 2 4]
nunique()返回去重后的元素個(gè)數(shù)
import pandas as pd list1 = [0, 1, 2, 4, 4] series = pd.Series(list1, index = ['a', 'b', 'c', 'd', 'e']) print(series.nunique())
輸出:
4
value_counts(),求不同元素的個(gè)數(shù)
import pandas as pd list1 = [0, 1, 2, 4, 4] series = pd.Series(list1, index = ['a', 'b', 'c', 'd', 'e']) print(series.value_counts())
輸出:
4 2
0 1
1 1
2 1
dtype: int64
value_counts(),求不同元素的個(gè)數(shù)
import pandas as pd list1 = [0, 1, 2, 4, 4] series = pd.Series(list1, index = ['a', 'b', 'c', 'd', 'e']) print(series.value_counts())
輸出:
4 2
0 1
1 1
2 1
dtype: int64
到此這篇關(guān)于pandas中Series的代碼實(shí)例解析的文章就介紹到這了,更多相關(guān)pandas的Series實(shí)例內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
E: 無(wú)法定位軟件包 python3-pip問(wèn)題及解決
這篇文章主要介紹了E: 無(wú)法定位軟件包 python3-pip問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02
Pycharm代碼無(wú)法復(fù)制,無(wú)法選中刪除,無(wú)法編輯的解決方法
今天小編就為大家分享一篇Pycharm代碼無(wú)法復(fù)制,無(wú)法選中刪除,無(wú)法編輯的解決方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-10-10
python爬蟲(chóng)的數(shù)據(jù)庫(kù)連接問(wèn)題【推薦】
這篇文章主要介紹了python爬蟲(chóng)的數(shù)據(jù)庫(kù)連接問(wèn)題,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-06-06
你知道嗎實(shí)現(xiàn)炫酷可視化只要1行python代碼
這篇文章主要給大家介紹了關(guān)于利用Python進(jìn)行數(shù)據(jù)可視化常見(jiàn)的9種方法!文中介紹的方法真的超實(shí)用!對(duì)大家學(xué)習(xí)或者使用python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-08-08
詳解Python中pandas的安裝操作說(shuō)明(傻瓜版)
這篇文章主要介紹了Python中pandas的安裝操作說(shuō)明,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04

