網(wǎng)站首頁 編程語言 正文
前言
這篇主要整理pandas常用的基本函數(shù),主要分為五部分:
- 匯總函數(shù)
- 特征統(tǒng)計函數(shù)
- 唯一值函數(shù)
- 替換函數(shù)
- 排序函數(shù)
1、匯總函數(shù)
常用的主要是4個:
- tail(): 返回表或序列的后n行
- head(): 返回表或序列的前n行
- info(): 返回表的信息概況
- describe(): 返回表中數(shù)值列對應(yīng)的主要統(tǒng)計量
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、特征統(tǒng)計函數(shù)
在Series和DataFrame上定義了許多統(tǒng)計函數(shù),最常見的是:
- sum
- mean (均值)
- median (中位數(shù))
- var (方差)
- std (標準差)
- max
- min
用法示例
df_demo = df[['Height', 'Weight']]
df_demo.mean()
聚合函數(shù)
- quantile (返回分位數(shù))
- count (返回非缺失值個數(shù))
- idxmax (最大值對應(yīng)的索引)
聚合函數(shù),有一個公共參數(shù)axis,axis=0代表逐列聚合,axis=1表示逐行聚合
df_demo.mean(axis=1).head()
3、唯一值函數(shù)
唯一值函數(shù)常用的四個函數(shù):
- unique() : 得到唯一值組成的列表->統(tǒng)計出指定列唯一存在的值有哪些
- nunique() :唯一值的個數(shù)->統(tǒng)計出指定列唯一存在的值總共有多少個
- value_counts() : 得到唯一值和其對應(yīng)出現(xiàn)的頻數(shù)
- drop_duplicates() : 去重
- duplicated()
drop_duplicates()基本用法
- 關(guān)鍵參數(shù)keep
- first : 保留第一次出現(xiàn)的重復(fù)行,刪除后面的重復(fù)行
- last : 刪除重復(fù)項,除了最后一次出現(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
由此可見,使用了first參數(shù),保留第一次出現(xiàn)的重復(fù)行,刪除后面的重復(fù)行
在未指定參數(shù)的情況下,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:刪除所有的重復(fù)行,只保留出現(xiàn)的最后一個
drop_duplicates() & duplicated()的區(qū)別
duplicated和drop_duplicates的功能類似,但前者返回了是否為唯一值的布爾列表,其keep參數(shù)與后者一致。其返回的序列,把重復(fù)元素設(shè)為True,否則為False。 drop_duplicates等價于把duplicated為True的對應(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,這兩個函數(shù)是完全對稱的:where函數(shù)在傳入條件為False的對應(yīng)行進行替換,而mask在傳入條件為True的對應(yīng)行進行替換,當不指定替換值時,替換為缺失值(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é)
原文鏈接:https://blog.csdn.net/qq_43893755/article/details/115219300
相關(guān)推薦
- 2023-10-30 springboot application 常用配置
- 2023-04-03 Python數(shù)據(jù)結(jié)構(gòu)隊列解決約瑟夫斯問題_python
- 2022-07-28 Redis特殊數(shù)據(jù)類型HyperLogLog基數(shù)統(tǒng)計算法講解_Redis
- 2022-11-05 Nginx負載均衡之upstream模塊簡介與使用詳解_nginx
- 2022-06-07 C++11中跳轉(zhuǎn)initializer_list實現(xiàn)分析_C 語言
- 2022-04-04 Kotlin中協(xié)程的創(chuàng)建過程詳析_Android
- 2023-05-07 C語言中大小端問題實例探索解決方法_C 語言
- 2022-07-07 redis連接報錯error:NOAUTH?Authentication?required_Redi
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細win安裝深度學習環(huán)境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支