pandas 數(shù)據(jù)結(jié)構(gòu)之Series的使用方法
1. Series
Series 是一個(gè)類數(shù)組的數(shù)據(jù)結(jié)構(gòu),同時(shí)帶有標(biāo)簽(lable)或者說索引(index)。
1.1 下邊生成一個(gè)最簡(jiǎn)單的Series對(duì)象,因?yàn)闆]有給Series指定索引,所以此時(shí)會(huì)使用默認(rèn)索引(從0到N-1)。
# 引入Series和DataFrame In [16]: from pandas import Series,DataFrame In [17]: import pandas as pd In [18]: ser1 = Series([1,2,3,4]) In [19]: ser1 Out[19]: 0 1 1 2 2 3 3 4 dtype: int64
1.2 當(dāng)要生成一個(gè)指定索引的Series 時(shí)候,可以這樣:
# 給index指定一個(gè)list In [23]: ser2 = Series(range(4),index = ["a","b","c","d"]) In [24]: ser2 Out[24]: a 0 b 1 c 2 d 3 dtype: int64
1.3 也可以通過字典來(lái)創(chuàng)建Series對(duì)象
In [45]: sdata = {'Ohio': 35000, 'Texas': 71000, 'Oregon': 16000, 'Utah': 5000} In [46]: ser3 = Series(sdata) # 可以發(fā)現(xiàn),用字典創(chuàng)建的Series是按index有序的 In [47]: ser3 Out[47]: Ohio 35000 Oregon 16000 Texas 71000 Utah 5000 dtype: int64
在用字典生成Series的時(shí)候,也可以指定索引,當(dāng)索引中值對(duì)應(yīng)的字典中的值不存在的時(shí)候,則此索引的值標(biāo)記為Missing,NA,并且可以通過函數(shù)(pandas.isnull,pandas.notnull)來(lái)確定哪些索引對(duì)應(yīng)的值是沒有的。
In [48]: states = ['California', 'Ohio', 'Oregon', 'Texas'] In [49]: ser3 = Series(sdata,index = states) In [50]: ser3 Out[50]: California NaN Ohio 35000.0 Oregon 16000.0 Texas 71000.0 dtype: float64 # 判斷哪些值為空 In [51]: pd.isnull(ser3) Out[51]: California True Ohio False Oregon False Texas False dtype: bool In [52]: pd.notnull(ser3) Out[52]: California False Ohio True Oregon True Texas True dtype: bool
1.4 訪問Series中的元素和索引:
# 訪問索引為"a"的元素 In [25]: ser2["a"] Out[25]: 0 # 訪問索引為"a","c"的元素 In [26]: ser2[["a","c"]] Out[26]: a 0 c 2 dtype: int64 # 獲取所有的值 In [27]: ser2.values Out[27]: array([0, 1, 2, 3]) # 獲取所有的索引 In [28]: ser2.index Out[28]: Index([u'a', u'b', u'c', u'd'], dtype='object')
1.5 簡(jiǎn)單運(yùn)算
在pandas的Series中,會(huì)保留NumPy的數(shù)組操作(用布爾數(shù)組過濾數(shù)據(jù),標(biāo)量乘法,以及使用數(shù)學(xué)函數(shù)),并同時(shí)保持引用的使用
In [34]: ser2[ser2 > 2] Out[34]: a 64 d 3 dtype: int64 In [35]: ser2 * 2 Out[35]: a 128 b 2 c 4 d 6 dtype: int64 In [36]: np.exp(ser2) Out[36]: a 6.235149e+27 b 2.718282e+00 c 7.389056e+00 d 2.008554e+01 dtype: float64
1.6 Series的自動(dòng)對(duì)齊
Series的一個(gè)重要功能就是自動(dòng)對(duì)齊(不明覺厲),看看例子就明白了。 差不多就是不同Series對(duì)象運(yùn)算的時(shí)候根據(jù)其索引進(jìn)行匹配計(jì)算。
# ser3 的內(nèi)容 In [60]: ser3 Out[60]: Ohio 35000 Oregon 16000 Texas 71000 Utah 5000 dtype: int64 # ser4 的內(nèi)容 In [61]: ser4 Out[61]: California NaN Ohio 35000.0 Oregon 16000.0 Texas 71000.0 dtype: float64 # 相同索引值的元素相加 In [62]: ser3 + ser4 Out[62]: California NaN Ohio 70000.0 Oregon 32000.0 Texas 142000.0 Utah NaN dtype: float64
1.7 命名
Series對(duì)象本身,以及索引都有一個(gè) name 屬性
In [64]: ser4.index.name = "state" In [65]: ser4.name = "population" In [66]: ser4 Out[66]: state California NaN Ohio 35000.0 Oregon 16000.0 Texas 71000.0 Name: population, dtype: float64
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python Matplotlib繪制箱型圖(箱線圖)boxplot的方法詳解
箱線圖(箱型圖)主要作用是發(fā)現(xiàn)數(shù)據(jù)內(nèi)部整體的分布分散情況,包括上下限、各分位數(shù)、異常值等,本文為大家整理了Matplotlib繪制箱型圖的所以方法,希望對(duì)大家有所幫助2023-05-05Python使用Networkx實(shí)現(xiàn)復(fù)雜的人物關(guān)系圖
日常工作、生活中我們經(jīng)常會(huì)遇到一些復(fù)雜的事務(wù)關(guān)系,比如人物關(guān)系,那如何才能清楚直觀的看清楚這些任務(wù)關(guān)系呢?所以小編給大家介紹了Python如何使用Networkx實(shí)現(xiàn)復(fù)雜的人物關(guān)系圖,文中通過代碼示例講解的非常詳細(xì),需要的朋友可以參考下2023-11-11Python入門教程(四十三)Python的NumPy數(shù)據(jù)類型
這篇文章主要介紹了Python入門教程(四十二)Python的NumPy數(shù)組裁切,NumPy有一些額外的數(shù)據(jù)類型,并通過一個(gè)字符引用數(shù)據(jù)類型,例如 i 代表整數(shù),u 代表無(wú)符號(hào)整數(shù)等,需要的朋友可以參考下2023-05-05Pandas數(shù)據(jù)結(jié)構(gòu)中Series屬性詳解
本文主要介紹了Pandas數(shù)據(jù)結(jié)構(gòu)中Series屬性詳解,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-04-04python/Matplotlib繪制復(fù)變函數(shù)圖像教程
今天小編就為大家分享一篇python/Matplotlib繪制復(fù)變函數(shù)圖像教程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧2019-11-11python面向?qū)ο笕腴T教程之從代碼復(fù)用開始(一)
這篇文章主要給大家介紹了關(guān)于python面向?qū)ο笕腴T教程之從代碼復(fù)用開始的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們來(lái)一起看看吧2018-12-12Python如何使用pymongo連接MongoDB數(shù)據(jù)庫(kù)并進(jìn)行相關(guān)操作
PyMongo是驅(qū)動(dòng)程序,使python程序能夠使用Mongodb數(shù)據(jù)庫(kù),使用python編寫而成,下面這篇文章主要給大家介紹了關(guān)于Python如何使用pymongo連接MongoDB數(shù)據(jù)庫(kù)并進(jìn)行相關(guān)操作的相關(guān)資料,需要的朋友可以參考下2023-05-05