這篇文章主要為大家展示了“python中數(shù)據(jù)索引怎么用”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“python中數(shù)據(jù)索引怎么用”這篇文章吧。
成都創(chuàng)新互聯(lián)長期為近千家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為鹿泉企業(yè)提供專業(yè)的做網(wǎng)站、網(wǎng)站制作,鹿泉網(wǎng)站改版等技術(shù)服務(wù)。擁有十載豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。
前言
數(shù)據(jù)索引是數(shù)據(jù)分析中最關(guān)鍵的操作。在數(shù)據(jù)分析中經(jīng)常需要選取固定的行列,在Excel中可以使用鼠標(biāo)進(jìn)行點(diǎn)選,但是敲命令的時候,例如python和R中不方便使用鼠標(biāo),這就需要靈活掌握數(shù)據(jù)的索引。如果數(shù)據(jù)索引不能熟練操作,就看不懂代碼,后面的數(shù)據(jù)分析無法完成。
數(shù)據(jù)索引
數(shù)據(jù)索引,也稱為數(shù)據(jù)切片和切塊,是使用不同的列或索引切分?jǐn)?shù)據(jù),實(shí)現(xiàn)從數(shù)據(jù)中獲取特定子集的方式。DataFrame為二維數(shù)據(jù),每一列均為一個同一類型數(shù)據(jù),所以為Series,每一行可以為不同數(shù)據(jù)類型,所以,每一行數(shù)據(jù)為DataFrame一個子集,數(shù)據(jù)類型依然為DataFrame。
pandas索引常用五種方法,loc iloc ix at iat。ix官方已不再推薦使用。其實(shí)筆者覺得pandas的索引操作不如R的方便。不過也夠用。目前主要使用的為loc和iloc,兩者比較容易混淆,這里按照官方方法提供一個簡單的快速記憶方法loc代表location,使用標(biāo)簽來索引,也就是行名或者列名,而iloc中的i解讀為integer,即integerlocation通過數(shù)字索引值來定位,也就是行號或者列號。
x.loc[ [‘行名1’, ‘行名2’, ‘行名3’……] , [‘列名1’,‘列名2’……] ] x.iloc[ [行號1,行號2,行號3……] , [列號1,列號2……] ]
利用數(shù)字進(jìn)行索引
pandas可以使用行名列名進(jìn)行索引,也可以使用數(shù)字作為索引,具體使用哪種方式,要看具體使用場景,靈活使用,如果行列數(shù)太多,使用行名列名更加方便,如果要選取一個范圍,使用數(shù)字更加方便。
如果要使用數(shù)字進(jìn)行索引,則需要使用iloc標(biāo)簽,行在前列在后,中間用逗號“,”分割,如果全部選取,用冒號“:”代替。其中冒號也可以用來表示一定范圍。
特別注意, python中索引值從0開始。并且不包含右側(cè)邊界。例如0:15,代表從第一個值到第15個值。
使用數(shù)字索引
mtcars[0:5] mtcars.iloc[ 0:5 ,: ] mtcars.iloc[1] #負(fù)數(shù)索引 mtcars.iloc[:,-1]
選取奇數(shù)行和偶數(shù)行
#奇數(shù)行 mtcars.iloc[np.arange(0,32,2)] #偶數(shù)行 mtcars.iloc[np.arange(1,32,2)]
利用行名列名進(jìn)行索引
如果想選取固定的行,使用點(diǎn)號,是最方便的方式,類似于R中數(shù)據(jù)框索引使用“$”,為什么行不行呢?因?yàn)閿?shù)據(jù)分析中更多時候是按列處理數(shù)據(jù)。這里注意由于python中點(diǎn)號有特殊作用,所以,源文件列名中最好不要有點(diǎn)號和空白,可以使用下劃線替代
mtcars.cyl mtcars.cyl.size
直接使用行名列名選取數(shù)據(jù)
mtcars['mpg'] mtcars[['mpg','cyl']] mtcars.loc[:,['cyl']] mtcars.loc[['Fiat 128','Valiant']] mtcars.loc[:,['disp','hp']]
刪除固定行或列
#刪除行列 mtcars.drop(columns=['cyl','mpg']) mtcars.drop(index=['Valiant']) mtcars[mtcars.index != 5] mtcars[mtcars.index!='Volvo 142E']
以上是“python中數(shù)據(jù)索引怎么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!