前言
- 汇总函数
- 特征统计函数
- 唯一值函数
- 替换函数
- 排序函数
1、汇总函数
常用的主要是4个:
- tail(): 返回表或序列的后n行
- head(): 返回表或序列的前n行
- info(): 返回表的信息概况
- describe(): 返回表中数值列对应的主要统计量
n默认为5
1
2
3
4
5
6
7
8
9
10
11
12
|
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
用法示例
1
2
|
df_demo = df[[ 'Height' , 'Weight' ]] df_demo.mean() |
聚合函数
- quantile (返回分位数)
- count (返回非缺失值个数)
- idxmax (最大值对应的索引)
聚合函数,有一个公共参数axis,axis=0代表逐列聚合,axis=1表示逐行聚合
1
|
df_demo.mean(axis = 1 ).head() |
3、唯一值函数
唯一值函数常用的四个函数:
- unique() : 得到唯一值组成的列表->统计出指定列唯一存在的值有哪些
- nunique() :唯一值的个数->统计出指定列唯一存在的值总共有多少个
- value_counts() : 得到唯一值和其对应出现的频数
- drop_duplicates() : 去重
- duplicated()
drop_duplicates()基本用法
- 关键参数keep
- first : 保留第一次出现的重复行,删除后面的重复行
- last : 删除重复项,除了最后一次出现
- False:把所有重复组合所在的行剔除。
需要指定列
代码:
1
2
3
|
#原本的数据样例 df_demo = df[[ 'Gender' , 'Transfer' , 'Name' ]] df_demo |
1
2
3
4
5
6
7
8
9
10
11
12
13
|
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 |
1
2
|
#现给Gender,Transfer两列去重 df_demo.drop_duplicates([ 'Gender' , 'Transfer' ]) |
1
2
3
4
5
6
7
|
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
案例如下:
1
|
df_demo.drop_duplicates([ 'Gender' , 'Transfer' ], keep = 'last' ) |
1
2
3
4
5
6
7
|
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的用法
1
2
3
|
#原本的数据 df_demo = df[[ 'Gender' , 'Transfer' , 'Name' ]] df_demo |
1
2
3
4
5
6
7
8
9
10
11
12
13
|
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 |
1
2
|
#替换Gender,女替换为0,男替换为1 df[ 'Gender' ].replace({ 'Female' : 0 , 'Male' : 1 }).head() |
1
2
3
4
5
6
|
0 0 1 1 2 1 3 0 4 1 Name: Gender, dtype: int64 |
逻辑替换
逻辑替换包括了where和mask,这两个函数是完全对称的:where函数在传入条件为False的对应行进行替换,而mask在传入条件为True的对应行进行替换,当不指定替换值时,替换为缺失值(NAN)
1
2
|
s = pd.Series([ - 1 , 1.2345 , 100 , - 50 ]) s.where(s< 0 ) |
1
2
3
4
5
|
0 - 1.0 1 NaN 2 NaN 3 - 50.0 dtype: float64 |
1
|
s.where(s< 0 , 100 ) |
1
2
3
4
5
|
0 - 1.0 1 100.0 2 100.0 3 - 50.0 dtype: float64 |
1
|
s.mask(s< 0 ) |
1
2
3
4
5
|
0 NaN 1 1.2345 2 100.0000 3 NaN dtype: float64 |
总结
到此这篇关于python基础篇之pandas常用基本函数汇总的文章就介绍到这了,更多相关python pandas常用函数内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://blog.csdn.net/qq_43893755/article/details/115219300