python基礎(chǔ)篇之pandas常用基本函數(shù)匯總
前言
這篇主要整理pandas常用的基本函數(shù),主要分為五部分:
- 匯總函數(shù)
- 特征統(tǒng)計(jì)函數(shù)
- 唯一值函數(shù)
- 替換函數(shù)
- 排序函數(shù)
1、匯總函數(shù)
常用的主要是4個(gè):
- tail(): 返回表或序列的后n行
- head(): 返回表或序列的前n行
- info(): 返回表的信息概況
- describe(): 返回表中數(shù)值列對(duì)應(yīng)的主要統(tǒng)計(jì)量
n默認(rèn)為5
df.describe() #運(yùn)行截圖 Height Weight count 183.000000 189.000000 mean 163.218033 55.015873 std 8.608879 12.824294 min 145.400000 34.000000 25% 157.150000 46.000000 50% 161.900000 51.000000 75% 167.500000 65.000000 max 193.900000 89.000000
2、特征統(tǒng)計(jì)函數(shù)
在Series和DataFrame上定義了許多統(tǒng)計(jì)函數(shù),最常見(jiàn)的是:
- sum
- mean (均值)
- median (中位數(shù))
- var (方差)
- std (標(biāo)準(zhǔn)差)
- max
- min
用法示例
df_demo = df[['Height', 'Weight']] df_demo.mean()
聚合函數(shù)
- quantile (返回分位數(shù))
- count (返回非缺失值個(gè)數(shù))
- idxmax (最大值對(duì)應(yīng)的索引)
聚合函數(shù),有一個(gè)公共參數(shù)axis,axis=0代表逐列聚合,axis=1表示逐行聚合
df_demo.mean(axis=1).head()
3、唯一值函數(shù)
唯一值函數(shù)常用的四個(gè)函數(shù):
- unique() : 得到唯一值組成的列表->統(tǒng)計(jì)出指定列唯一存在的值有哪些
- nunique() :唯一值的個(gè)數(shù)->統(tǒng)計(jì)出指定列唯一存在的值總共有多少個(gè)
- value_counts() : 得到唯一值和其對(duì)應(yīng)出現(xiàn)的頻數(shù)
- drop_duplicates() : 去重
- duplicated()
drop_duplicates()基本用法
- 關(guān)鍵參數(shù)keep
- first : 保留第一次出現(xiàn)的重復(fù)行,刪除后面的重復(fù)行
- last : 刪除重復(fù)項(xiàng),除了最后一次出現(xiàn)
- False:把所有重復(fù)組合所在的行剔除。
需要指定列
代碼:
#原本的數(shù)據(jù)樣例 df_demo = df[['Gender','Transfer','Name']] df_demo
Gender Transfer Name 0 Female N Gaopeng Yang 1 Male N Changqiang You 2 Male N Mei Sun 3 Female N Xiaojuan Sun 4 Male N Gaojuan You ... ... ... ... 195 Female N Xiaojuan Sun 196 Female N Li Zhao 197 Female N Chengqiang Chu 198 Male N Chengmei Shen 199 Male N Chunpeng Lv 200 rows × 3 columns
#現(xiàn)給Gender,Transfer兩列去重 df_demo.drop_duplicates(['Gender','Transfer'])
Gender Transfer Name 0 Female N Gaopeng Yang 1 Male N Changqiang You 12 Female NaN Peng You 21 Male NaN Xiaopeng Shen 36 Male Y Xiaojuan Qin 43 Female Y Gaoli Feng
由此可見(jiàn),使用了first參數(shù),保留第一次出現(xiàn)的重復(fù)行,刪除后面的重復(fù)行
在未指定參數(shù)的情況下,keep默認(rèn)first;
指定last
案例如下:
df_demo.drop_duplicates(['Gender', 'Transfer'], keep='last')
Gender Transfer Name 147 Male NaN Juan You 150 Male Y Chengpeng You 169 Female Y Chengquan Qin 194 Female NaN Yanmei Qian 197 Female N Chengqiang Chu 199 Male N Chunpeng Lv
last:刪除所有的重復(fù)行,只保留出現(xiàn)的最后一個(gè)
drop_duplicates() & duplicated()的區(qū)別
duplicated和drop_duplicates的功能類似,但前者返回了是否為唯一值的布爾列表,其keep參數(shù)與后者一致。其返回的序列,把重復(fù)元素設(shè)為True,否則為False。 drop_duplicates等價(jià)于把duplicated為True的對(duì)應(yīng)行剔除。
4、替換函數(shù)
替換函數(shù)有三類:
- 映射函數(shù):replace()…
- 邏輯函數(shù):(1)where (2)mask
- 數(shù)值替換
replace的用法
#原本的數(shù)據(jù) df_demo = df[['Gender','Transfer','Name']] df_demo
Gender Transfer Name 0 Female N Gaopeng Yang 1 Male N Changqiang You 2 Male N Mei Sun 3 Female N Xiaojuan Sun 4 Male N Gaojuan You ... ... ... ... 195 Female N Xiaojuan Sun 196 Female N Li Zhao 197 Female N Chengqiang Chu 198 Male N Chengmei Shen 199 Male N Chunpeng Lv 200 rows × 3 columns
#替換Gender,女替換為0,男替換為1 df['Gender'].replace({'Female':0, 'Male':1}).head()
0 0 1 1 2 1 3 0 4 1 Name: Gender, dtype: int64
邏輯替換
邏輯替換包括了where和mask,這兩個(gè)函數(shù)是完全對(duì)稱的:where函數(shù)在傳入條件為False的對(duì)應(yīng)行進(jìn)行替換,而mask在傳入條件為True的對(duì)應(yīng)行進(jìn)行替換,當(dāng)不指定替換值時(shí),替換為缺失值(NAN)
s = pd.Series([-1, 1.2345, 100, -50]) s.where(s<0)
0 -1.0 1 NaN 2 NaN 3 -50.0 dtype: float64
s.where(s<0, 100)
0 -1.0 1 100.0 2 100.0 3 -50.0 dtype: float64
s.mask(s<0)
0 NaN 1 1.2345 2 100.0000 3 NaN dtype: float64
總結(jié)
到此這篇關(guān)于python基礎(chǔ)篇之pandas常用基本函數(shù)匯總的文章就介紹到這了,更多相關(guān)python pandas常用函數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
用python實(shí)現(xiàn)域名資產(chǎn)監(jiān)控的詳細(xì)步驟
域名資產(chǎn)監(jiān)控,通過(guò)輸入一個(gè)主域名,找到該域名對(duì)應(yīng)的ip地址所在的服務(wù)器的端口開(kāi)閉情況,本文重點(diǎn)給大家介紹用python實(shí)現(xiàn)域名資產(chǎn)監(jiān)控的問(wèn)題,需要的朋友可以參考下2021-11-11Python查找數(shù)組中數(shù)值和下標(biāo)相等的元素示例【二分查找】
這篇文章主要介紹了Python查找數(shù)組中數(shù)值和下標(biāo)相等的元素,結(jié)合實(shí)例形式分析了Python基于二分查找針對(duì)數(shù)組查找相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2019-02-02TensorFlow實(shí)現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)
這篇文章主要為大家詳細(xì)介紹了TensorFlow實(shí)現(xiàn)卷積神經(jīng)網(wǎng)絡(luò),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-05-05新手學(xué)習(xí)Python2和Python3中print不同的用法
在本篇文章里小編給大家分享的是關(guān)于Python2和Python3中print不同的用法,有興趣的朋友們可以學(xué)習(xí)下。2020-06-06解決運(yùn)行django程序出錯(cuò)問(wèn)題 ''str''object has no attribute''_meta''
這篇文章主要介紹了解決運(yùn)行django程序出錯(cuò)問(wèn)題 'str'object has no attribute'_meta',具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-07-07Pycharm學(xué)習(xí)教程(4) Python解釋器的相關(guān)配置
這篇文章主要為大家詳細(xì)介紹了最全的Pycharm學(xué)習(xí)教程第四篇,Python解釋器配置,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05python多線程多并發(fā)啟動(dòng)appium服務(wù)的實(shí)現(xiàn)
使用Dos命令或者bat批處理來(lái)手動(dòng)啟動(dòng)appium服務(wù),啟動(dòng)效率低下,本文主要介紹了python多線程多并發(fā)啟動(dòng)appium服務(wù)的實(shí)現(xiàn),具有一定的 參考價(jià)值,感興趣的可以了解一下2024-02-02