python基礎篇之pandas常用基本函數匯總
前言
這篇主要整理pandas常用的基本函數,主要分為五部分:
- 匯總函數
- 特征統計函數
- 唯一值函數
- 替換函數
- 排序函數
1、匯總函數
常用的主要是4個:
- tail(): 返回表或序列的後n行
- head(): 返回表或序列的前n行
- info(): 返回表的信息概況
- describe(): 返回表中數值列對應的主要統計量
n默認為5
df.describe() #運行截圖 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、特征統計函數
在Series和DataFrame上定義瞭許多統計函數,最常見的是:
- sum
- mean (均值)
- median (中位數)
- var (方差)
- std (標準差)
- max
- min
用法示例
df_demo = df[['Height', 'Weight']] df_demo.mean()
聚合函數
- quantile (返回分位數)
- count (返回非缺失值個數)
- idxmax (最大值對應的索引)
聚合函數,有一個公共參數axis,axis=0代表逐列聚合,axis=1表示逐行聚合
df_demo.mean(axis=1).head()
3、唯一值函數
唯一值函數常用的四個函數:
- unique() : 得到唯一值組成的列表->統計出指定列唯一存在的值有哪些
- nunique() :唯一值的個數->統計出指定列唯一存在的值總共有多少個
- value_counts() : 得到唯一值和其對應出現的頻數
- drop_duplicates() : 去重
- duplicated()
drop_duplicates()基本用法
- 關鍵參數keep
- first : 保留第一次出現的重復行,刪除後面的重復行
- last : 刪除重復項,除瞭最後一次出現
- False:把所有重復組合所在的行剔除。
需要指定列
代碼:
#原本的數據樣例 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,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
由此可見,使用瞭first參數,保留第一次出現的重復行,刪除後面的重復行
在未指定參數的情況下,keep默認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:刪除所有的重復行,隻保留出現的最後一個
drop_duplicates() & duplicated()的區別
duplicated和drop_duplicates的功能類似,但前者返回瞭是否為唯一值的佈爾列表,其keep參數與後者一致。其返回的序列,把重復元素設為True,否則為False。 drop_duplicates等價於把duplicated為True的對應行剔除。
4、替換函數
替換函數有三類:
- 映射函數:replace()…
- 邏輯函數:(1)where (2)mask
- 數值替換
replace的用法
#原本的數據 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,這兩個函數是完全對稱的:where函數在傳入條件為False的對應行進行替換,而mask在傳入條件為True的對應行進行替換,當不指定替換值時,替換為缺失值(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
總結
到此這篇關於python基礎篇之pandas常用基本函數匯總的文章就介紹到這瞭,更多相關python pandas常用函數內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- pandas 使用insert插入一列
- pandas之query方法和sample隨機抽樣操作
- pandas數據清洗(缺失值和重復值的處理)
- Python pandas找出、刪除重復的數據實例
- 聊聊python中令人迷惑的duplicated和drop_duplicates()用法