python学习——缺失值、重复值处理、排序及替换

news/2024/12/26 19:33:08/

文章目录

  • 1 缺失值处理
    • 1.1 查看缺失值 df.isnull()
    • 1.2 统计缺失值 df.isnull().sum()
    • 1.3 删除缺失值 df.drop()
    • 1.4 填充缺失值 df.fillna()
      • 1.4.1 固定值填充 df.fillna(value)
      • 1.4.2 线性插值填充 df.fillna(df.interpolate())
  • 2 重复值处理
    • 2.1 查看重复值 df.duplicated()
    • 2.2 筛选重复值 df[df.duplicated()]
    • 2.3 删除重复值 df.drop_duplicates()
  • 3 排序
    • 3.1 按照索引排序 df.sort_index
    • 3.2 按照值进行排序 df.sort_values
    • 3.3 数值型数据快速排序 df.nlargest
  • 4 替换 df.replace

1 缺失值处理

1.1 查看缺失值 df.isnull()

df.isnull() #将空值转换为真
df.notnull() #空值转换为假

在这里插入图片描述

配合上面的功能,使用掩码提取对应数据

df[df.column名.isnull()]
df[df.column名.notnull()]

在这里插入图片描述

1.2 统计缺失值 df.isnull().sum()

df.isnull().sum()

在这里插入图片描述

1.3 删除缺失值 df.drop()

axis0: 删除行数据1: 删除列数据
subset: 参数表示删除时只考虑的索引或列名
thresh: 当数据有效值超过thresh参数值的时候,则数据会予以保留,否则会被删除

在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述

1.4 填充缺失值 df.fillna()

1.4.1 固定值填充 df.fillna(value)

  1. value: 固定值填充
  2. method
  • ffill #用上面最近的一个非空值填充
  • bfill #用下面最近的一个非空值填充
  • df.fillna(method=“bfill”,limit=2,axis=1) #限制轴信息
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

1.4.2 线性插值填充 df.fillna(df.interpolate())

用上面非空值的线性插值填充数据

df.fillna(df.interpolate())

2 重复值处理

2.1 查看重复值 df.duplicated()

在这里插入图片描述在这里插入图片描述

2.2 筛选重复值 df[df.duplicated()]

在这里插入图片描述

2.3 删除重复值 df.drop_duplicates()

默认保留位置靠前的数据行,可以通过keep来决定两行数据完全相同保留后面的还是前面的。
在这里插入图片描述
在这里插入图片描述

3 排序

dataFrame进行排序时,可以按照索引排序,也可以按照值进行排序。

3.1 按照索引排序 df.sort_index

df.sort_index()  #按照索引进行排序,默认升序排序,axis决定按照行索引还是列索引
ascending=False  #降序
df.reset_index()  #重置索引,把原来的索引列转化成一个普通列,行索引用位置信息做索引名

二维列表排序
在这里插入图片描述在这里插入图片描述

3.2 按照值进行排序 df.sort_values

df.sort_values(by = '列名') #按照某一列进行排序
df.sort_values(by =[ '列名','列名'],ascending=[False,True])

在这里插入图片描述

3.3 数值型数据快速排序 df.nlargest

df.列名.nlargest() #默认取前五个,先排序,取前五名
df.nlargest(5,'列名')
df.列名.nsmallest() #默认取后五个,先排序,取后五名
df.nsmallest(5,'列名')

在这里插入图片描述

4 替换 df.replace

df.replace('xxm','小明',inplace = True) #inplace为True时,原地替换

在这里插入图片描述


http://www.ppmy.cn/news/48136.html

相关文章

docker简单教程(三)常用操作

docker简单教程(三)常用操作 文章目录 docker简单教程(三)常用操作1:查看所有容器列表:docker ps -a2:查看正在运行的容器列表:docker ps3:运行容器:docker r…

测牛学堂:2023软件测试linux和shell脚本入门系列(shell的运算符)

shell中的注释 以# 开头的就是shell中的注释,不会被执行,是给编程的人看的。 shell中的运算符 shell中有很多运算符。 按照分类,可以分为算术运算符,关系运算符,布尔运算符,字符串运算符,文件…

把树莓派改造成无线软路由器(2)-----无线路由器模式(独立无线路由器)

本文目录 1、准备工作2、安装无线AP和管理软件3、设置网络路由3.1、树莓派的无线网络接口IP配置3.2、启用路由和IP伪装3.3、为无线网络配置DHCP和DNS服务 4、确认无线配置5、配置 AP 软件6、运行wifi无线AP 树莓派可用作网络中的一个wifi无线路由器。让使用无线接入的计算机和设…

sqlserver用SQL脚本进行备份和还原操作

--1.1备份数据库脚本 USE [master] GO BACKUP DATABASE [Test] TO DISK D:\Test\Test_20230419.bak GO --1.2还原数据库,注意一定要用NORECOVERY还原备份 USE [master] GO RESTORE DATABASE [Test] FROM DISKND:\Test\Test_20230419.bak WITH FILE 1, MOVE NTest TO ND:\Test…

后缀数组的应用:最长公共子串

题目描述 假设 str1 长度为 N N N,str2 长度为 M M M,求 str1 和 str2 的最长公共子串。 思路分析 示例:str1 “12abcd456”, str2 “7abcd89”,则str1和str2的最长公共子串为 abcd。 注意,子串是连续的。 动…

C. Anna, Svyatoslav and Maps(floyd + 思维)

Problem - C - Codeforces 给你一个有n个顶点的无权图&#xff0c;以及由m个顶点的序列p1,p2,...,pm给出的路径&#xff08;该路径不一定简单&#xff09;&#xff1b;对于每个1≤i<m&#xff0c;有一个弧从pi到pi1。 如果v是p的子序列&#xff0c;v1p1&#xff0c;vkpm&a…

JavaScript有几种数据类型,分别是什么?

在JavaScript中&#xff0c;我们可以分成两种类型&#xff1a;基本类型 复杂类型&#xff08;引用类型&#xff09; 两种类型的区别是&#xff1a;存储位置不同 基本类型主要为以下六种&#xff1a; Number、String、Boolean、Undefined、Null、Symbol 复杂类型/引用类型统称为…

C++ const关键字

参考资料&#xff1a; 【C const的各种用法详解】【const用法深入浅出】 - COS - 博客园 (cnblogs.com) const的基本概念&#xff1a; const名叫常量限定符&#xff0c;用来限定特定变量&#xff0c;以通知编译器该变量是不可修改的。习惯性的使用const&#xff0c;可以避免在函…