入門pandas—排序與查詢(loc)
阿新 • • 發佈:2021-01-30
排序
引數
DataFrame.sort_values(by, axis=0, ascending=True, inplace=False, kind=‘quicksort’, na_position=‘last’)
引數說明
axis:如果axis=0,那麼by=“列名”;如果axis=1,那麼by=“行號”;
ascending:True則升序,可以是[True,False],即第一欄位升序,第二個降序
inplace=True:不建立新的物件,直接對原始物件進行修改;
inplace=False:對資料進行修改,建立並返回新的物件承載其修改結果。
例1:按語文分數降序排列
import pandas as pd
path = 'C:/Users/Administrator/Desktop/playground2/排序.xlsx'
data = pd.read_excel(path,index_col='序號')
data.sort_values(by = '語文',inplace=True,ascending=False) #按照語文排序,不建立新表 降序排列
print(data)
姓名 語文 數學 英語
序號
4 張伊 69 44 58
1 盧海軍 64 49 49
2 丁智敏 61 61 60
3 李平平 58 49 33
6 王鬆 47 44 62
5 王剛 37 63 42
例2:按語文分數排序降序,數學升序,英語降序
data.sort_values(by = ['語文','數學','英語'],inplace=True,ascending=[False,True,False])
例3:按索引進行排序
data = pd.read_excel(path,index_col='序號')
data.sort_index(inplace=True)
排序進階篇
import pandas as pd
路徑 = 'c:/pandas/排序進階.xlsx'
資料 = pd.read_excel(路徑)
資料.sort_values(by='a',inplace=True,ascending=False)
print(資料)
import pandas as pd
路徑 = 'c:/pandas/排序進階.xlsx'
資料 = pd.read_excel(路徑)
資料.sort_values(by=1,inplace=True,ascending=False,axis=1)
print(資料)
查詢資料 loc
單條件查詢
語法:loc[行標籤,列標籤]
import pandas as pd
path = 'C:/Users/Administrator/Desktop/playground2/篩選.xlsx'
data = pd.read_excel(path,index_col='出生日期')
print(data.loc['1983-10-27','語文'])
出生日期
1983-10-27 61
Name: 語文, dtype: int64
多條件查詢
print(data.loc['1983-10-27',['語文','數學','英語']])
使用資料區間範圍進行查詢
print(data.loc['1983-10-27':'1990-12-31',['語文','數學','英語']])
使用條件表示式進行查詢
import pandas as pd
path = 'C:/Users/Administrator/Desktop/playground2/篩選.xlsx'
data = pd.read_excel(path,index_col='出生日期')
print(data.loc[(data['語文']>60) & (data['英語']<60),:]) #對於行有條件篩選 列全部顯示
序號 姓名 性別 語文 數學 英語 總分 地址
出生日期
1983-01-05 1 盧海軍 男 64 49 49 162 上海市某某區某某小區A座
1987-02-06 4 張伊 女 69 44 58 171 河南省信陽市某某區某某小區C座
loc實現條件判斷
import pandas as pd
path = 'C:/Users/Administrator/Desktop/playground2/條件判斷.xlsx'
data = pd.read_excel(path,index_col='序號')
data.loc[data['性別']=='男','稱呼']='先生' #如果行滿足性別為男 則增加稱呼這一列 #==是條件判斷,=是賦值
data.loc[data['性別']=='女','稱呼']='女士'
print(data)
姓名 性別 語文 數學 英語 稱呼
序號
1 張三 男 89 60 88 先生
2 李四 女 60 71 98 女士
3 王五 男 73 84 68 先生
4 小孫 男 85 96 96 先生
5 小劉 女 70 63 97 女士
6 小趙 女 63 63 91 女士