iT邦幫忙

2023 iThome 鐵人賽

DAY 7
0

~今天要分享的是「索引值及排序」~

在學生時期,我們每個人都會有專屬於自己的學號,每次考完試之後,學校都會根據學生的成績進行排名,同樣地,在資料分析中,為了方便處理數據,我們也會將資料給予索引值(通常為獨一無二的)並進行排序,以下使用程式碼來演示這個概念,幫助大家更好理解。
→建立資料框

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參數中做相應的輸入就可以實現囉!


上一篇
鐵人賽第六天~探索式資料分析
下一篇
鐵人賽第八天~關聯式分析
系列文
打造數據科學之路:資料分析與機器學習的完整指南30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言