對(duì)pandas的層次索引與取值的新方法詳解
1、層次索引
1.1 定義
在某一個(gè)方向擁有多個(gè)(兩個(gè)及兩個(gè)以上)索引級(jí)別,就叫做層次索引。
通過(guò)層次化索引,pandas能夠以較低維度形式處理高緯度的數(shù)據(jù)
通過(guò)層次化索引,可以按照層次統(tǒng)計(jì)數(shù)據(jù)
層次索引包括Series層次索引和DataFrame層次索引
1.2 Series的層次索引
import numpy as np import pandas as pd s1 = pd.Series(data=[99, 80, 76, 80, 99], index=[['2017', '2017', '2018', '2018', '2018'], ['張伊曼', '張巧玲', '張?jiān)娫?shī)', '張思思', '張可可']]) print(s1)
1.3 DataFrame的層次索引
# DataFrame的層次索引 df1 = pd.DataFrame({ 'year': [2016, 2016, 2017, 2017, 2018], 'fruit': ['apple', 'banana', 'apple', 'banana', 'apple'], 'production': [10, 30, 20, 70, 100], 'profits': [40, 30, 60, 80,10], }) print("df1===================================") print(df1) df2 = df1.set_index(['year', 'fruit']) print("df2===================================") print(df2) print("df2.index===================================") print(df2.index) print("df2.sum(level='year')===================================") print(df2.sum(level='year')) print("df2.mean(level='fruit')===================================") print(df2.mean(level='fruit')) print("df2.sum(level=['year', 'fruit'])===================================") print(df2.sum(level=['year', 'fruit']))
2、取值的新方法
ix是比較老的方法 新方式是使用iloc loc
iloc 對(duì)下標(biāo)值進(jìn)行操作 Series與DataFrame都可以操作
loc 對(duì)索引值進(jìn)行操作 Series與DataFrame都可以操作
2.1 Series
# # 取值的新方法 s1 = pd.Series(data=[99, 80, 76, 80, 99], index=[['2017', '2017', '2018', '2018', '2018'], ['張伊曼', '張巧玲', '張?jiān)娫?shī)', '張思思', '張可可']]) print("s1=================================") print(s1) print("s1.iloc[2]=================================") print(s1.iloc[2]) print("s1.loc['2018']['張思思']=================================") print(s1.loc['2018']['張思思'])
2.2 DataFrame
df1 = pd.DataFrame({ 'year': [2016, 2016, 2017, 2017, 2018], 'fruit': ['apple', 'banana', 'apple', 'banana', 'apple'], 'production': [10, 30, 20, 70, 100], 'profits': [40, 30, 60, 80,10], }) print("df1===================================") print(df1) print("舊方法獲取值===================================") print("df1['year'][0]===================================") print(df1['year'][0]) print("df1.ix[0]['year']===================================") print(df1.ix[0]['year']) print("新方法獲取值===================================") print("df1.iloc[0][3]===================================") print(df1.iloc[0][3]) print("df1.loc[0]['year']===================================") print(df1.loc[0]['year'])
以上這篇對(duì)pandas的層次索引與取值的新方法詳解就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
django中related_name的用法說(shuō)明
這篇文章主要介紹了django中related_name的用法說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-05-05關(guān)于Python?中IndexError:list?assignment?index?out?of?rang
這篇文章主要介紹了Python?中IndexError:list?assignment?index?out?of?range?錯(cuò)誤解決,概述了兩個(gè)常見的列表函數(shù),它們可以幫助我們?cè)谔鎿Q兩個(gè)列表時(shí)幫助我們處理?Python?中的索引錯(cuò)誤,需要的朋友可以參考下2023-05-05tensorboard實(shí)現(xiàn)同時(shí)顯示訓(xùn)練曲線和測(cè)試曲線
今天小編就為大家分享一篇tensorboard實(shí)現(xiàn)同時(shí)顯示訓(xùn)練曲線和測(cè)試曲線,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-01-015款最強(qiáng)且免費(fèi)的Python IDE小結(jié)
開發(fā)工具在日常代碼編寫過(guò)程中起著至關(guān)重要的作用,一款優(yōu)秀的開發(fā)工具,不僅可以盡可能的減少你在配置方面耗費(fèi)的精力,本文主要介紹了5種,感興趣的可以了解一下2021-07-07基于Python腳本實(shí)現(xiàn)郵件報(bào)警功能
這篇文章主要介紹了基于Python腳本實(shí)現(xiàn)郵件報(bào)警功能,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-05-05淺談優(yōu)化Django ORM中的性能問(wèn)題
這篇文章主要介紹了淺談優(yōu)化Django ORM中的性能問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-07-07Python打包exe時(shí)各種異常處理方案總結(jié)
今天教大家用Python打包exe時(shí)各種異常處理的方案總結(jié),下文中有非常詳細(xì)的介紹,對(duì)正在學(xué)習(xí)python的小伙伴們很有幫助喲,需要的朋友可以參考下2021-05-05Python數(shù)據(jù)可視化:冪律分布實(shí)例詳解
今天小編就為大家分享一篇Python數(shù)據(jù)可視化:冪律分布實(shí)例詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-12-12python自動(dòng)保存百度盤資源到百度盤中的實(shí)例代碼
這篇文章主要介紹了python自動(dòng)保存百度盤資源到百度盤中的實(shí)例代碼,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-08-08