~今天要分享的是「索引值及排序」~
在學生時期,我們每個人都會有專屬於自己的學號,每次考完試之後,學校都會根據學生的成績進行排名,同樣地,在資料分析中,為了方便處理數據,我們也會將資料給予索引值(通常為獨一無二的)並進行排序,以下使用程式碼來演示這個概念,幫助大家更好理解。
→建立資料框
import pandas as pd
data = pd.DataFrame([
["Amy",99,99],
["Bob",49,61],
["Cindy",85,67],
["Dora",72,80],
["Eric",89,95],
["Fiona",66,35],
["Gina",99,57],
["Herry",85,89],
["Ivy",58,59],
["Jack",85,97]
],columns=["name","MathScore","EnglishScore"])
data
→使用索引值查詢資料
在這裡要提一個小觀念,那就是loc[]跟iloc[]的差別:
loc方法:使用行名稱(index)來選取特定的數據,且索引範圍是包頭包尾
iloc方法:使用資料整數位置來選取特定的數據,且索引範圍是包頭不包尾
#loc方法
print(data.loc[0:3])
#iloc方法
print(data.iloc[0:3])
我們也可以透過條件來選取資料:
print(data.loc[data["MathScore"]>80])
print("===================================")
print(data.loc[(data["MathScore"]>80) & (data["EnglishScore"]>80)])
→使用sort_values()語法將資料做排序
sort_values()語法中,有一個名為ascending的參數,ascending的意思是上升的,也就是說,當ascending為True時,資料的排序為升冪排列,反之則為降冪排列。
#資料排序
data.sort_values(by="MathScore",ascending=False)
也可以在by參數中輸入多個變數名稱,程式會先以第一個變數做排序,接著再以第二個變數做排序,以此類推。
#資料排序
data.sort_values(by=["MathScore","EnglishScore"],ascending=False)
如果對某些變數想使用升冪排列,某些變數則使用降冪排列的話,只要在ascending參數中做相應的輸入就可以實現囉!