python基础篇之pandas常用基本函数汇总

作者:就想做一条闲鱼 时间:2021-09-06 20:42:22 

前言

这篇主要整理pandas常用的基本函数,主要分为五部分:

  • 汇总函数

  • 特征统计函数

  • 唯一值函数

  • 替换函数

  • 排序函数

1、汇总函数

常用的主要是4个:

  • tail(): 返回表或序列的后n行

  • head(): 返回表或序列的前n行

  • info(): 返回表的信息概况

  • describe(): 返回表中数值列对应的主要统计量

n默认为5

df.describe()

#运行截图
HeightWeight
count183.000000189.000000
mean163.21803355.015873
std8.60887912.824294
min145.40000034.000000
25%157.15000046.000000
50%161.90000051.000000
75%167.50000065.000000
max193.90000089.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

来源:https://blog.csdn.net/qq_43893755/article/details/115219300

标签:pandas,常用,函数
0
投稿

猜你喜欢

  • python实现一个点绕另一个点旋转后的坐标

    2023-04-24 19:29:24
  • Python partial函数原理及用法解析

    2021-01-22 02:48:50
  • Oracle数据库集复制方法浅议

    2023-07-16 16:33:49
  • 如何使用Python在2秒内评估国际象棋位置详解

    2023-08-10 14:26:46
  • 讲解数据库管理系统必须提供的基本服务

    2009-01-04 14:33:00
  • django admin实现动态多选框表单的示例代码

    2021-12-25 11:31:29
  • 页面重构中的组件制作要点

    2009-10-25 13:06:00
  • Python如何利用Har文件进行遍历指定字典替换提交的数据详解

    2022-04-22 22:35:17
  • 如何利用python的tkinter实现一个简单的计算器

    2021-09-12 09:19:52
  • Python打印三角形九九乘法表代码

    2021-11-16 03:27:15
  • 小看了setTimeout()

    2009-12-04 12:44:00
  • 关于CSS中字号控制的兼容性研究

    2010-01-23 12:48:00
  • python解释器pycharm安装及环境变量配置教程图文详解

    2021-10-13 22:50:44
  • Python学生成绩管理系统简洁版

    2023-08-23 01:33:08
  • 详细解析Python当中的数据类型和变量

    2023-01-18 23:27:07
  • 一文带你掌握Python中多线程和线程池的使用方法

    2022-10-20 21:53:09
  • asp中Adodb.Stream 的使用说明

    2007-09-11 13:53:00
  • python数据可视化绘制火山图示例

    2022-05-08 03:47:56
  • 用Python写个新年贺卡生成器

    2023-08-26 00:56:45
  • Python 读取有公式cell的结果内容实例方法

    2021-09-06 21:07:11
  • asp之家 网络编程 m.aspxhome.com