python數據分析004_多層索引的取值和排序


一.創建測試數據

  1. np.random.randint(0,100,size=(6,3))是使用numpy中的隨機模塊random中,生成隨機整數方法randint,里面的參數size是指定生成6行3列的數據,並且每個數字的范圍在0到100之間。

  • import pandas as pd
  • import numpy as np
  • data = np.random.randint(0,100,size=(6,3))
  • names = ['張三','李四','王五']
  • exam = ['期中','期末']
  • index = pd.MultiIndex.from_product([names,exam])
  • df = pd.DataFrame(data,index=index,columns=['Java','Web','Python'])
  • print(df)

  2.pd.MultiIndex.from_product()構建索引的方式, 確定每一層索引的值什么,然后以列表的形勢傳給from_product()方法即可。

  3.[names,exam]列表中的位置不同,產生的索引也會不同。from_product([exam,names])會將列表中第一個元素作為最外層索引,依次類推

二. 多層索引的取值

  1.loc使用的是標簽索引,iloc使用的是位置索引。但是,iloc的取值並不會受多層索引影響,只會根據數據的位置索引進行取值。   

  • s.loc['張三']
  • s.loc['張三','期中']
  • s.loc[:,'期中']
  • s.iloc[0]
  • df.loc['張三'].loc['期中']
  • df.loc[('張三','期中')]

三.多層索引的排序

  1.DataFrame按行索引排序的方法是sort_index(),df.sort_index()中的level參數可以指定是否按照指定的層級進行排列,第一層級索引值為0,第二層級索引值為1。

    df.sort_index(level=0,ascending=False)

四.總結

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM