2.3.1 pandas 之 series創(chuàng)建 切片 運(yùn)算

1.pandas:

Pandas是一個(gè)強(qiáng)大的分析結(jié)構(gòu)化數(shù)據(jù)的工具集拥峦;它的使用基礎(chǔ)是Numpy(提供高性能的矩陣運(yùn)算);用于數(shù)據(jù)挖掘和數(shù)據(jù)分析庞钢,同時(shí)也提供數(shù)據(jù)清洗功能瞳购。

利器:

Series: 它是一種類似于一維數(shù)組的對(duì)象,是由一組數(shù)據(jù)(各種NumPy數(shù)據(jù)類型)以及一組與之相關(guān)的數(shù)據(jù)標(biāo)簽(即索引)組成玖绿。

DataFrame:DataFrame是Pandas中的一個(gè)表格型的數(shù)據(jù)結(jié)構(gòu)敛瓷,包含有一組有序的列,每列可以是不同的值類型(數(shù)值斑匪、字符串呐籽、布爾型等),DataFrame即有行索引也有列索引蚀瘸,可以被看做是由Series組成的字典

2.使用pandas:

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

?? list狡蝶,ndarray,元組贮勃,dict

? s = pd.Series(data=list|ndarray|元組|dict,index=[....],name=‘’)? # 其中ndarray可應(yīng)用array的生成方法贪惹,如random.randint()產(chǎn)生。 # 其中index可通過(guò)index=list('QWERTYUIOP')的方式創(chuàng)建寂嘉。

2).索引和切片

3).方法和屬性


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

2種方式:

(1)方式一

import pandas as pd

list1 = [3,5,7,8,9,9,0]

s = pd.Series(data = list1,index=['A','B','C','D','E','F','G'],name='level')

# 此種方式奏瞬,list1增減元素,不影響s泉孩。(此次可溫習(xí)深淺拷貝)


(2)方式二

import numpy as np

arr = np.random.randint(1,30,size=10)

pd.Series(arr) # 如果修改元素則Series受到影響

# 元素np.nan 顯示NAN



(3)方式三:字典創(chuàng)建對(duì)象:

dict1 = {'python':100,'java':99,'C++':89}

pd.Series(data=dict1)

# ? 如出現(xiàn)空值硼端,會(huì)顯示NaN :not a number(浮點(diǎn)類型)

4. 索引和切片

創(chuàng)建series

import pandas as pd

import numpy as np

s1 = pd.Series(data=np.random.randint(1,30,size=10),index=list('ABCDEFGHIJ'))

s1#


索引和切片

(1)顯示索引:

- 獲取單個(gè)元素

????????s['A'] ? # 27

? ? ? ? s.loc['A']? #? 官方推薦? # 27

?? - 獲取多個(gè)元素:

? ? s.loc[['A','B','A']]? ----> 返回值是Series類型的? # 可取重復(fù)元素


s1.loc[[True,False,True,False,True,False,True,False,True,False]]

# 可以使用bool的列表獲取元素,但是bool列表的長(zhǎng)度必須要與s1對(duì)象的元素個(gè)數(shù)一致

(2)隱式索引?0~n-1 元素A-J對(duì)應(yīng)隱式索引0-9

? ? s[0]? # A

? ? s.iloc[0]? # 官方推薦?

? ? 獲取多個(gè)元素:

? ? s.iloc[[0,5,7]] ? #? 可取重復(fù)元素

(3)切片:

?- 顯式:

? s1['E':'H']

? s1[::2]

? s1[::-1] ? # 步長(zhǎng)-1寓搬,反向取

? s1['B'::3] ? # 步長(zhǎng)為3?

-隱式:類似列表


5.方法和屬性显蝌;

index values size shape(5,)

s.size # 屬性:獲取元素得到個(gè)數(shù) # 如4

s.values # 得到值:如:array([150, 150, 150, 300], dtype=int64)

s.shape # 屬性: 獲取形狀 如:(4,) ? 4行1列


Series方法:

s = pd.Series(data=np.random.randint(1,10,size=6),index=list('CDFABE'))

head(n) ??獲取前n個(gè)元素 ? ?s.head(4)? # 如不傳參數(shù),默認(rèn)5個(gè)數(shù)據(jù)。

tail(n) ??獲取后n個(gè)元素 ??s.tail(2)


sort_index(ascending=False) 降序 ?#s.sort_index(ascending=False)

sort_values(ascending=True)? 默認(rèn)是升序 #?s.sort_values()

value_counts()? 統(tǒng)計(jì)值元素的個(gè)數(shù) ?s2.value_counts()

unique() 去重? #? s2.unique()

nunique() 去重后的數(shù)量


isnull()? NaN ??

notnull()

r.isnull().any() # any() 判斷整個(gè)數(shù)組中是否至少有一個(gè)符合條件True曼尊,則返回結(jié)果是True,否則返回False

# all()? 判斷整個(gè)數(shù)組中是否全部滿足條件酬诀,如果全部滿足則返回True,否則返回False



補(bǔ)充:

all()函數(shù)用于判斷整個(gè)數(shù)組中的元素的值是否全部滿足條件骆撇,如果滿足條件返回True瞒御,否則返回False。

any()函數(shù)用于判斷整個(gè)數(shù)組中的元素至少有一個(gè)滿足條件就返回True神郊,否則返回False肴裙。

# 切片和索引:例:

s = pd.Series(data={ "語(yǔ)文":150,"數(shù)學(xué)":150,"英語(yǔ)":150,"理綜":300})

(1)得到: 數(shù)學(xué) 150

s.loc["數(shù)學(xué)"] ? ?? s.iloc[1] ?? s["數(shù)學(xué)"] ? ? s[1] ? s[[False, True, False, False]]

s[s.index=='數(shù)學(xué)'] ??

詳解:# ?s.index # 屬性之一 可得到:Index(['語(yǔ)文', '數(shù)學(xué)', '英語(yǔ)', '理綜'], dtype='object')

# ?s.index=='數(shù)學(xué)'? # 得到?array([False, True, False, False])

#?s[s.index=='數(shù)學(xué)']? # 得到 ? 數(shù)學(xué)? ? 150 ? dtype: int64

(2)得到?語(yǔ)文 150? 數(shù)學(xué) 150? 英語(yǔ) 150?

s['語(yǔ)文':'英語(yǔ)'] ? ?? s.loc['語(yǔ)文':'英語(yǔ)'] ??s[:3] ? ?s.iloc[:3]

s[[True,True,True,False]] ? ??s[s.index!='理綜']

s[s.values!=300]?

# 詳解:?s.values? 得到:array([ True,? True,? True, False])

#?s.values!=300? 得到:array([ True, True, True, False])


6.?Series的運(yùn)算:

兩個(gè)series對(duì)象可以進(jìn)行基本的+-*/運(yùn)算? #?# add() sub() mul() div() mod() 類似: + - * / % ? 如:python.add(java)? 類似于?python+java

series+1? 廣播機(jī)制

series+ndarray? 形狀相同才可以加法操作? 如:s3+arr

series+series:# 在進(jìn)行加法操作的時(shí)候都是索引一致的才會(huì)進(jìn)行相加




mean()? #?python.mean()

max()

min()#?python.min()

python.loc[python>python.mean()]

s1.count()? 計(jì)數(shù)


例:


解答如下:


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市涌乳,隨后出現(xiàn)的幾起案子蜻懦,更是在濱河造成了極大的恐慌,老刑警劉巖夕晓,帶你破解...
    沈念sama閱讀 211,290評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件宛乃,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡蒸辆,警方通過(guò)查閱死者的電腦和手機(jī)征炼,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)躬贡,“玉大人谆奥,你說(shuō)我怎么就攤上這事》鞑#” “怎么了酸些?”我有些...
    開(kāi)封第一講書人閱讀 156,872評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)檐蚜。 經(jīng)常有香客問(wèn)我魄懂,道長(zhǎng),這世上最難降的妖魔是什么熬甚? 我笑而不...
    開(kāi)封第一講書人閱讀 56,415評(píng)論 1 283
  • 正文 為了忘掉前任逢渔,我火速辦了婚禮肋坚,結(jié)果婚禮上乡括,老公的妹妹穿的比我還像新娘。我一直安慰自己智厌,他們只是感情好诲泌,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,453評(píng)論 6 385
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著铣鹏,像睡著了一般敷扫。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書人閱讀 49,784評(píng)論 1 290
  • 那天葵第,我揣著相機(jī)與錄音绘迁,去河邊找鬼。 笑死卒密,一個(gè)胖子當(dāng)著我的面吹牛缀台,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播哮奇,決...
    沈念sama閱讀 38,927評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼膛腐,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了鼎俘?” 一聲冷哼從身側(cè)響起哲身,我...
    開(kāi)封第一講書人閱讀 37,691評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎贸伐,沒(méi)想到半個(gè)月后勘天,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,137評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡棍丐,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,472評(píng)論 2 326
  • 正文 我和宋清朗相戀三年误辑,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片歌逢。...
    茶點(diǎn)故事閱讀 38,622評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡巾钉,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出秘案,到底是詐尸還是另有隱情砰苍,我是刑警寧澤,帶...
    沈念sama閱讀 34,289評(píng)論 4 329
  • 正文 年R本政府宣布阱高,位于F島的核電站赚导,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏赤惊。R本人自食惡果不足惜吼旧,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,887評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望未舟。 院中可真熱鬧圈暗,春花似錦、人聲如沸裕膀。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 30,741評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)昼扛。三九已至寸齐,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背渺鹦。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工扰法, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人毅厚。 一個(gè)月前我還...
    沈念sama閱讀 46,316評(píng)論 2 360
  • 正文 我出身青樓迹恐,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親卧斟。 傳聞我的和親對(duì)象是個(gè)殘疾皇子殴边,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,490評(píng)論 2 348