Python大數(shù)據(jù)基礎(chǔ)與實(shí)戰(zhàn)(第12章-pandas基礎(chǔ)與實(shí)戰(zhàn))課件_第1頁
Python大數(shù)據(jù)基礎(chǔ)與實(shí)戰(zhàn)(第12章-pandas基礎(chǔ)與實(shí)戰(zhàn))課件_第2頁
Python大數(shù)據(jù)基礎(chǔ)與實(shí)戰(zhàn)(第12章-pandas基礎(chǔ)與實(shí)戰(zhàn))課件_第3頁
Python大數(shù)據(jù)基礎(chǔ)與實(shí)戰(zhàn)(第12章-pandas基礎(chǔ)與實(shí)戰(zhàn))課件_第4頁
Python大數(shù)據(jù)基礎(chǔ)與實(shí)戰(zhàn)(第12章-pandas基礎(chǔ)與實(shí)戰(zhàn))課件_第5頁
已閱讀5頁,還剩65頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、Python大數(shù)據(jù)基礎(chǔ)與實(shí)戰(zhàn) 第十二章 Pandas基礎(chǔ)與實(shí)戰(zhàn)12.5 數(shù)據(jù)清洗12.4 數(shù)據(jù)運(yùn)算12.2 pandas索引操作12.6 數(shù)據(jù)分組12.3 數(shù)據(jù)選擇12.1 pandas數(shù)據(jù)結(jié)構(gòu)12.7 聚合運(yùn)算12.8 數(shù)據(jù)讀取與存儲(chǔ)12.1pandas數(shù)據(jù)結(jié)構(gòu)1. Series(序列)Series類似于一維數(shù)組,由一組數(shù)據(jù)(可以是任意的Numpy數(shù)據(jù)類型)和一組稱之為數(shù)據(jù)標(biāo)簽的索引組成。1)Series對(duì)象的創(chuàng)建通過一組列表數(shù)據(jù)產(chǎn)生12.1 pandas數(shù)據(jù)結(jié)構(gòu)from pandas import Series #導(dǎo)入pandas庫中Series模塊pds1 = Series(1, 2,

2、3, 4)pds10 11 22 33 4dtype: int6412.1 pandas數(shù)據(jù)結(jié)構(gòu)通過指定索引的方式pds2 = Series(1, 2, 3, 4, index=a, b, c, d)pds2a 1b 2c 3d 4dtype: int6412.1 pandas數(shù)據(jù)結(jié)構(gòu)通過字典方式創(chuàng)建data = i1:1,i2:2,i3:3,i4:4#由于字典是無序的,因此指定索引排列順序ps3 = Series(data,index=i1,i2,i3,i4) ps3i1 1i2 2i3 3i4 4dtype: int6412.1 pandas數(shù)據(jù)結(jié)構(gòu) 2. DataFrame(數(shù)據(jù)框) D

3、ataFrame是一種類似于關(guān)系表的表格型數(shù)據(jù)結(jié)構(gòu),DataFrame對(duì)象是一個(gè)二維表格,其中,每列中的元素類型必須一致,而不同的列可以擁有不同的元素類型。它是數(shù)據(jù)科學(xué)中最為廣泛使用的數(shù)據(jù)結(jié)構(gòu)之一。 Pandas提供了將其它數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換為DataFrame的方法,還提供了眾多的輸入輸出函數(shù)來將各利文件格式轉(zhuǎn)換成DataFrame。使用DataFrame前,需要導(dǎo)入pandas庫中的DataFrame模塊(from pandas import DataFrame) 創(chuàng)建DataFrame的方法有很多,最常用的是傳入二維數(shù)組、由數(shù)組、Series、列表或者元組組成的字典給DataFrame()。1

4、2.1 pandas數(shù)據(jù)結(jié)構(gòu)data = name:王曉明,李靜,田海, sex:男,女,男, aged:20,19,21#字典是無序的,因此需要通過columns指定列索引的排列順序df = DataFrame(data,columns=name,sex,aged) df12.1 pandas數(shù)據(jù)結(jié)構(gòu) DataFrame數(shù)據(jù)有列索引和行索引,行索引類似于關(guān)系表中每行的編號(hào)(未指定行索引的情況下,會(huì)使用0到N-1作為行索引),列索引類似于表格的列名(也稱為字段)。df1 = DataFrame(data,columns = name,sex,aged,index = L1,L2,L3)df11

5、2.2pandas的索引操作 1. 重新索引 重新索引就是對(duì)索引進(jìn)行重新排序,而索引對(duì)象是無法修改的。 1)Series對(duì)象的重新索引 通過Series的reindex()方法可以調(diào)整index的次序,但不是定義一個(gè)全新的index,也就是說調(diào)整后的index必須為已經(jīng)存在的index,只是改變了原有index順序而已,否則自動(dòng)增加index,對(duì)應(yīng)的元素值為NaN(not a number)缺失值。 我們可以通過Series對(duì)象的isnull()方法或者notnull()方法來尋找缺失值。 注意:使用reindex()方法不改變?cè)瓉韺?duì)象。12.2 pandas索引操作12.2 pandas索引

6、操作import numpy as npobj = Series(10,20,30,40,-10,index = a,b,c,d,e,dtype=np.float64)obja 10.0b 20.0c 30.0d 40.0e -10.0dtype: float64obj1 = obj.reindex(index = b,c,a,d,e,n) #使用reindex方法調(diào)整index順序obj1b 20.0c 30.0a 10.0d 40.0e -10.0n NaN #原來對(duì)象并不存在“n”這個(gè)索引,pandas自動(dòng)添加一個(gè)缺失值dtype: float64 12.2 pandas索引操作2)Da

7、taFrame對(duì)象的重新索引df = DataFrame(np.arange(9).reshape(3,3),index = L1,L2,L3,columns = id1,id2,id3)#對(duì)df重新索引,新增的L4行標(biāo)簽對(duì)應(yīng)的缺失值通過fill_value參數(shù)指定為9df2 = df.reindex(index = L1,L2,L3,L4,columns = id3,id2,id1,fill_value = 9)df212.2 pandas索引操作 2. 更換索引 有時(shí)我們希望將列數(shù)據(jù)作為行索引,這時(shí)可以通過set_index()方法來更換索引,生成一個(gè)新的DataFrame,原來DataF

8、rame不會(huì)發(fā)生變換。 與set_index()方法相反的方法是reset_index()。12.2 pandas索引操作data = name:(張三,李四,王五,趙六), sex:(男,女,女,男), aged:(20,19,20,21), score:(80,60,70,90)df = DataFrame(data) #使用字典創(chuàng)建DataFrame對(duì)象dfdf1 = df.set_index(name) #使用name列更換默認(rèn)行索引df112.3數(shù)據(jù)選擇12.3 數(shù)據(jù)選擇1. 索引和切片1)Series對(duì)象的索引和切片每個(gè)Series對(duì)象有兩個(gè)特殊的屬性:index:由ndarray

9、數(shù)組繼承的Index索引對(duì)象,保存標(biāo)簽信息。values:保存元素值的ndarry數(shù)組,numpy的函數(shù)都對(duì)此數(shù)組進(jìn)行處理。pds2 = Series(1, 2, 3, 4, index=a, b, c, d)print(Index索引對(duì)象: ,pds2.index)print(值數(shù)組:,pds2.values)Index索引對(duì)象: Index(a, b, c, d, dtype=object)值數(shù)組:1, 2, 3, 412.3 數(shù)據(jù)選擇 Series對(duì)象中元素的索引支持位置下標(biāo)和標(biāo)簽下標(biāo)兩種形式。print(使用位置下標(biāo)方式索引元素pds22: ,pds2)print(使用標(biāo)簽下標(biāo)方式索引

10、元素pds2b: ,pds2b)使用下標(biāo)方式索引元素pds22: 3使用標(biāo)簽方式索引元素pds2b: 2 Series對(duì)象還支持位置切片和標(biāo)簽切片。位置切片遵循Python的切片規(guī)則,包括起始位置,但不包括結(jié)束位置;但標(biāo)簽切片則同時(shí)包括起始標(biāo)簽和結(jié)束標(biāo)簽。12.3 數(shù)據(jù)選擇print(使用位置切片來索引元素pds20:2,pds20:2)print(使用標(biāo)簽切片來索引元素pds2a:c,pds2a:c)使用位置切片來索引元素pds20:2 a 1b 2 dtype: int64使用標(biāo)簽切片來索引元素pds2a:c a 1b 2c 3dtype: int6412.3 數(shù)據(jù)選擇 2. DataFr

11、ame索引和切片 相比一維數(shù)組的數(shù)列Series數(shù)據(jù)選取,二維數(shù)組的數(shù)據(jù)框DataFrame數(shù)據(jù)選取更復(fù)雜,選取列和行都有具體的使用方法。 DataFrame有兩個(gè)索引對(duì)象:索引行標(biāo)簽的index和索引列標(biāo)簽的columns。使用索引對(duì)象的values()方法可以獲取對(duì)應(yīng)標(biāo)簽的數(shù)組對(duì)象,這些對(duì)象可以供numpy使用。12.3 數(shù)據(jù)選擇 1)選取列 通過列索引標(biāo)簽或者以屬性的方式可以單獨(dú)獲取DataFrame的列數(shù)據(jù),返回的數(shù)據(jù)為Series結(jié)構(gòu),通過標(biāo)簽列表可以獲取多個(gè)列的數(shù)據(jù)。dfname #選取name列,也可以使用,返回一個(gè)Series對(duì)象,等價(jià)于0 張三1

12、李四2 王五3 趙六Name: name, dtype: objectdfname,sex #選取name、sex列,返回一個(gè)DataFrame對(duì)象12.3 數(shù)據(jù)選擇 2)選取行 通過行索引標(biāo)簽或者行索引位置(0到N-1)的切片形式可以選取行數(shù)據(jù)。 位置切片遵循Python的切片規(guī)則,包括起始位置,但不包括結(jié)束位置。 標(biāo)簽切片則同時(shí)包括起始標(biāo)簽和結(jié)束標(biāo)簽。 兩種形式的切片返回結(jié)果都為DataFrame的子集。df10:2df1張三:王五12.3 數(shù)據(jù)選擇 切片方法選取行只能是選取連續(xù)的行,有很大的局限性。如果要選取單獨(dú)的幾行,可以通過loc屬性和iloc屬性來實(shí)現(xiàn)。loc屬性是按照行索引標(biāo)簽選

13、取數(shù)據(jù),iloc屬性是按照行索引位置選取數(shù)據(jù)。df1.iloc0,2 #按照行索引位置選取數(shù)據(jù)df1.loc張三,王五 #按照行索引標(biāo)簽選取數(shù)據(jù)12.3 數(shù)據(jù)選擇 3)選取行和列 在數(shù)據(jù)分析中,常常需要對(duì)部分行和列進(jìn)行操作,這時(shí)就需要選取DataFrame數(shù)據(jù)中行和列的子集。通過ix屬性可以完成,該屬性同時(shí)支持索引標(biāo)簽和索引位置來進(jìn)行數(shù)據(jù)選取。df1.ix0,3,0:3 #選取行索引是0、3,列索引是0、1、2的數(shù)據(jù) df1.ix0:2,0,2 #選取行索引是0、1,列索引是0、2的數(shù)據(jù)12.3 數(shù)據(jù)選擇 4)布爾選擇 當(dāng)要選取列中具體數(shù)據(jù)時(shí),需要通過布爾選擇來完成。df1sex = 女df1

14、df1sex = 女df1(df1sex = 女) & (df1score 60)12.3 數(shù)據(jù)選擇 2. 操作行和列 1)增加行 增加行數(shù)據(jù)可以通過append()函數(shù)傳入字典數(shù)據(jù)即可。append_data = name:朱八, sex:男, aged:23, score:65new_df = df.append(append_data,ignore_index = True)new_df12.3 數(shù)據(jù)選擇 2) 增加列 增加列可以直接通過標(biāo)簽索引方式進(jìn)行,當(dāng)新增的列中的數(shù)值不一樣時(shí),可以傳入列表或者數(shù)組結(jié)構(gòu)進(jìn)行賦值。new_dfcity = 北京,西安,長春,珠海,昆明new_df12.

15、3 數(shù)據(jù)選擇 3) 刪除 使用drop()函數(shù)可以刪除指定軸上的信息,原來的DataFrame數(shù)據(jù)不會(huì)刪除。new_df.drop(2) #刪除行索引是2的信息 4) 修改標(biāo)簽 通過rename()函數(shù)完成行和列索引標(biāo)簽的修改,index參數(shù)指定要修改的行標(biāo)簽,columns參數(shù)指定要修改的列標(biāo)簽。new_df.rename(index = 3:2,4:3,columns = score:grade) #以字典形式指定修改信息12.3 數(shù)據(jù)選擇12.4數(shù)據(jù)運(yùn)算12.4 數(shù)據(jù)運(yùn)算 1. 算術(shù)運(yùn)算 pandas數(shù)據(jù)對(duì)象在進(jìn)行算術(shù)運(yùn)算時(shí),如果有相同索引對(duì),則進(jìn)行算術(shù)運(yùn)算;如果沒有,則會(huì)引入NaN缺失

16、值,這就是數(shù)據(jù)對(duì)齊。 規(guī)則1:數(shù)據(jù)框DataFrame之間的計(jì)算規(guī)則-先補(bǔ)齊標(biāo)簽索引(新增索引對(duì)應(yīng)值為NaN),得到相同結(jié)構(gòu)后,再進(jìn)行計(jì)算。 規(guī)則2:用算術(shù)運(yùn)算符+、-、*、/等會(huì)產(chǎn)生NaN值,如果要將默認(rèn)填充的NaN改為指定值,建議不要使用算術(shù)運(yùn)算符,而改用成員方法,如add()、sub()、mul()、div()。 規(guī)則3:數(shù)據(jù)框DataFrame與數(shù)列Series的計(jì)算規(guī)則-按行廣播(axis=1),先把行改為等長,行內(nèi)不做循環(huán)補(bǔ)齊,只是一行一行計(jì)算,不會(huì)跨行廣播。 12.4 數(shù)據(jù)運(yùn)算 2. 函數(shù)應(yīng)用和映射 在數(shù)據(jù)分析時(shí),常常會(huì)對(duì)數(shù)據(jù)進(jìn)行較復(fù)雜的數(shù)據(jù)運(yùn)算,這時(shí)需要定義函數(shù)。定義好的函數(shù)可

17、以應(yīng)用到pandas數(shù)據(jù)中,其中有3種方法:map()函數(shù),將函數(shù)應(yīng)用到Series的每個(gè)元素中apply() 函數(shù),將函數(shù)應(yīng)用到DataFrame的行與列上applymap()函數(shù),將函數(shù)應(yīng)用到DataFrame的每個(gè)元素上12.4 數(shù)據(jù)運(yùn)算def f(s): return s.split(cm)0dflength = dflength.map(f) #在length列(Series對(duì)象)上的每個(gè)元素應(yīng)用map函數(shù)dfdata = name:張三,李四,王五, length:172cm,175cm,168cmdf = DataFrame(data)12.4 數(shù)據(jù)運(yùn)算df1 = pd.Data

18、Frame(np.random.rand(3,3),columns=a,b,c)df1 f = lambda x:x.mean() #定義lambda表達(dá)式,求均值df1.apply(f,axis = 0) #沿列方向應(yīng)用f,求每列的均值a 0.304962b 0.496319c 0.570561dtype: float6412.4 數(shù)據(jù)運(yùn)算df1.applymap(lambda x:x+1)12.4 數(shù)據(jù)運(yùn)算 3. 排序 在Series中,通過sort_index()方法對(duì)索引進(jìn)行排序,默認(rèn)為升序;通過sort_values()方法對(duì)值進(jìn)行排序,默認(rèn)是升序。obj = Series(rang

19、e(4), index=d, a, b, c)objd 0a 1b 2c 3dtype: int32obj.sort_index()a 1b 2c 3d 0dtype: int3212.4 數(shù)據(jù)運(yùn)算 對(duì)于DataFrame數(shù)據(jù)而言,通過指定軸方向,使用sort_index()方法可以對(duì)行或者列索引進(jìn)行排序。要根據(jù)列進(jìn)行排序,可以通過sort_values()方法,把列名傳給by參數(shù)即可。frame = DataFrame(np.arange(8).reshape(2, 4), index=two, one,columns=d, a, b, c)frame.sort_index() #默認(rèn)axi

20、s=0,按照縱軸行索引升序排列 4. 統(tǒng)計(jì)信息 在DataFrame數(shù)據(jù)中,通過sum()方法可以對(duì)每列進(jìn)行求和和匯總,還可以指定要匯總的軸方向,方法返回一個(gè)Series對(duì)象。df = DataFrame(1.4, np.nan, 7.1, -4.5,np.nan, np.nan, 0.75, -1.3, index=a, b, c, d, columns=one, two)df.sum() #默認(rèn)axis=0,按照縱軸求和one 9.25two -5.80dtype: float64df.sum(axis = 1) #axis=1,按照橫軸求和a 1.40b 2.60c 0.00d -0.5

21、5dtype: float6412.4 數(shù)據(jù)運(yùn)算 describe()方法可以對(duì)每個(gè)數(shù)值型列進(jìn)行描述性統(tǒng)計(jì),形成統(tǒng)計(jì)報(bào)告。df.describe()12.4 數(shù)據(jù)運(yùn)算12.4 數(shù)據(jù)運(yùn)算 5 . 唯一值和值計(jì)數(shù) 通過Series對(duì)象的unique()方法可以獲取不重復(fù)的數(shù)據(jù),而通過Series對(duì)象的values_counts()方法可以統(tǒng)計(jì)每個(gè)值出現(xiàn)的次數(shù)。 df= DataFrame(Va1: 1, 3, 4, 3, 4,Va2: 2, 3, 1, 2, 3,Va3: 1, 5, 2, 4, 4)dfVa1.value_counts()4 23 21 1Name: Va1, dtype: in

22、t64dfVa3.unique()array(1, 5, 2, 4, dtype=int64)12.5數(shù)據(jù)清洗12.5 數(shù)據(jù)清洗 現(xiàn)實(shí)中通過各種方式收集到的數(shù)據(jù)可能是“骯臟”的,使用前需要進(jìn)行數(shù)據(jù)的清洗。數(shù)據(jù)清洗包括缺失值處理、重復(fù)數(shù)據(jù)的處理和替代值處理等具體操作。 1.處理缺失值 在大多數(shù)的數(shù)據(jù)分析應(yīng)用程序中,缺少數(shù)據(jù)是常見的,缺少的值被pandas標(biāo)注為np.nan也就是缺失值NaN。設(shè)計(jì)pandas的目標(biāo)之一是使處理丟失的數(shù)據(jù)盡可能的輕松。在Python基礎(chǔ)語法中,None不能參加計(jì)算,而缺失值NaN可以參加運(yùn)算。在Pandas中,二者是一樣的,都可以參加算術(shù)計(jì)算,None自動(dòng)轉(zhuǎn)換成Na

23、N,np.nan屬于float類型。12.5 數(shù)據(jù)清洗方法名含義isnull()判斷每個(gè)元素是否為空/缺失值,返回一個(gè)布爾數(shù)組notnull()判斷每個(gè)元素是否為非空,返回一個(gè)布爾數(shù)組fillna()設(shè)置缺失值的填補(bǔ)方法,返回一個(gè)新的對(duì)象dropna()刪除缺失值 常見的缺失值處理方法12.5 數(shù)據(jù)清洗NA = np.nanA = DataFrame(1, 2, 3., 4, 5, NA, 6, NA, 7,columns=list(abc),index=list(123)A.isnull() #為True的就是缺失值 使用fillna()方法可以對(duì)缺失值進(jìn)行填補(bǔ),參數(shù)value設(shè)置填補(bǔ)值,m

24、ethod參數(shù)設(shè)置填補(bǔ)方式,“ffill”使用前面值填補(bǔ),“bfill”使用后面值填補(bǔ)。12.5 數(shù)據(jù)清洗 使用dropna()方法可以對(duì)缺失值進(jìn)行刪除,可以定義刪除方式,當(dāng)how參數(shù)為“any”時(shí),刪除任何包含NaN的行或列,當(dāng)how為“all”時(shí),刪除所有數(shù)據(jù)為NaN的行或列。12.5 數(shù)據(jù)清洗 2. 異常重復(fù)數(shù)據(jù) 在DataFrame中,通過duplicated()方法判斷各行是否存在重復(fù)數(shù)據(jù)。data = id:1,2,3,1,4,name:apple,pear,banana,apple,peach, price:5,4,3,5,3df = DataFrame(data)df.dupl

25、icated() #判斷重復(fù)行0 False1 False2 False3 True4 Falsedtype: bool12.5 數(shù)據(jù)清洗 當(dāng)發(fā)現(xiàn)重復(fù)數(shù)據(jù)時(shí),通過方法drop_duplicates()刪除,該方法默認(rèn)刪除完全重復(fù)的行, 只保留第一次出現(xiàn)的數(shù)據(jù)。也可以指定部分列作為判斷重復(fù)項(xiàng)的依據(jù)。print(df.drop_duplicates() #通過行判斷重復(fù)#通過列索引“name”和“price”來判斷重復(fù),保留最后一次出現(xiàn)的重復(fù)數(shù)據(jù)print(-*20,n,df.drop_duplicates(name,price,keep=last) #通過列索引“price”來判斷重復(fù),保留首次

26、出現(xiàn)的重復(fù)數(shù)據(jù)print(-*20,n,df.drop_duplicates(price) 3. 替換值 在pandas中,通過replace()方法完成值的替換工作,可以單值替換,也可以多值替換,這時(shí)參數(shù)傳入方式可以是列表也可以是字典。data = name:張三,李四,王五,趙六, sex:男,男,女,女, aged:20,19,np.nan,21, birth_city:北京,西安,沈陽,df = DataFrame(data)df.replace(,大連)12.6數(shù)據(jù)分組12.6 數(shù)據(jù)分組 分組的基本過程是,首先數(shù)據(jù)集按照分組鍵(key)的方式分成小的數(shù)據(jù)片(split),然后對(duì)每一個(gè)

27、數(shù)據(jù)片進(jìn)行操作,最后將結(jié)果再組合起來形成新的數(shù)據(jù)集(combine)。import seaborn as sns import pandas as pdtips = sns.load_dataset(tips) #載入tips數(shù)據(jù)集groupdata = tipstip.groupby(tipssex).mean() #依據(jù)性別分組鍵計(jì)算小費(fèi)的平均值print(groupdata)sex Male 3.089618 Female 2.833448Name: tip, dtype: float6412.6 數(shù)據(jù)分組也可以通過多個(gè)分組鍵進(jìn)行計(jì)算,下面通過分組鍵day和time,計(jì)算小費(fèi)平均值。gr

28、oupdata1 = tipstip.groupby(tipsday,tipstime).mean()groupdata1 #Series對(duì)象day time Thur Lunch 2.767705 Dinner 3.000000Fri Lunch 2.382857 Dinner 2.940000Sat Dinner 2.993103Sun Dinner 3.255132Name: tip, dtype: float6412.6 數(shù)據(jù)分組 groupby()方法使用的分組鍵除了上面的Series,還可以是列名、列表、元組、字典、函數(shù)等。 1. 按列名分組smoker_mean = tips.g

29、roupby(smoker).mean() #按照smoker列索引分組smoker_mean #返回多列的DataFrame對(duì)象12.6 數(shù)據(jù)分組 2. 按列表或元組分組 分組鍵也可以是長度適當(dāng)?shù)牧斜砘蛘咴M,長度適當(dāng)就是要與待分組的DataFrame的行數(shù)一樣。df = DataFrame(np.arange(16).reshape(4,4)df.groupby(x,y * 2).mean() #定義分組依據(jù)12.5 數(shù)據(jù)分組 3. 按字典分組 如果原始的DataFrame中的分組信息很難確定或者不存在,可以通過字典結(jié)構(gòu),定義分組信息。 df = DataFrame(np.arange(1

30、2).reshape(4,3),index=x,y,X,Y) dct = x:1,y:2,X:1,Y:2 df.groupby(dct).sum()12.6 數(shù)據(jù)分組 4. 按函數(shù)分組 函數(shù)作為分組鍵的原理類似于字典,通過映射關(guān)系進(jìn)行分組,但是函數(shù)分組更加靈活。 df = DataFrame(np.random.randn(3,3) #生成一個(gè)正態(tài)分布數(shù)據(jù)框 def f(x): return + if x = 0 else - df0.groupby(df0.map(f).sum() 0 + 1.016426 - -0.733545 Name: 0, dtype: float6412.7聚合運(yùn)算12.7 聚合運(yùn)算 聚合運(yùn)算就是對(duì)分組后的數(shù)據(jù)進(jìn)行計(jì)算,產(chǎn)生標(biāo)量值的過程。 1. 聚合運(yùn)算方法方法含義方法含義count計(jì)算分組的數(shù)目,包括缺失值std、var返回每組的標(biāo)準(zhǔn)差、方差sum返回每組的和min、max返回每組的最小值、最大值mean返回每組的平均值prod返回每組的乘積median返回每組的算術(shù)中位數(shù)first、last返回每組的第一個(gè)值、最后一個(gè)值idxmax返回每組最大值所在索引idxmin返回每組最小值所在的索引median返回每組中位數(shù)describe返回描述性統(tǒng)計(jì)信息12.7 聚合運(yùn)算max_bill = tips.groupby(sex)total_

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論