1. 程式人生 > 其它 >入門pandas—排序與查詢(loc)

入門pandas—排序與查詢(loc)

技術標籤:pythonpandas

排序

引數

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  女士