Pandas 缺失号

2023-11-08

  1. 三种缺失符号及其对比【pandas 1.0之前】

三种记号(pandas 1.0) np.nan None np.NaT【时间序列用】
类型 float64 Nonetype

pandas._libs.tslibs.nattype.NaTType

equal的时候是否会包括在内 不包括 包括 不包括
某列出现该值的类型 1.数值型,布尔型统一转换为float64
2.字符型统一转换为O(object类型) 1.None传入数值型自动变换为np.nan
None传入时间型变量自动变换为np.NaT
2.None传入布尔类型,不改变原布尔列表
3.None传入字符型为NoneType
时间型变量类型不改变

  1. 统一三种缺失符号[pandas 1.0之后]

统一之前必须要做的操作:
—>将数据转换为Nullable类型
(数值类型首字母大写,如int64——Int64)
(布尔型:bool——boolean)
(字符型,object——string)

转换方法1:全表转换用covert_dtypes 转换
转换方法2:单列类型直接用astype转换

2-1. 做了哪些统一?

统一缺失值类型:pandas._libs.missing.NAType
统一缺失记号【dataframe表格中的显示】:< NA >
给单元格赋值np.nan 或 None 或 np.NaT统一转换为pd.NA
赋值给Nullable类型不改变其类型
使用str方法之后string(Nullable类型)不会因为缺失值改变类型,而原来的object会因为缺失值改变类型

2-2. 新NA的特性

2-2-1. 布尔运算

不依靠pd.NA的布尔表达返回真假:
(False & pd.NA ) ( True | pd.NA)
依靠pd.NA的返回< NA >

2-2-2. 算术运算

特殊情况

    pd.NA ** 0=1
    1 ** pd.NA=1

其他情况与pd.NA运算都返回< NA >

2-3. 缺失列/表含有空值的运算方法

法则:加法当0,乘法当1,累积运算忽略

#tip# pandas 1.0 之前的空值表示之前会改变数值类型

2-4. 分组的依据列含有空值,直接忽略空值分组

  1. 判断是否缺失或者非缺失

    isna( ) ---->缺失:True 【列的是否缺失的布尔列表或者表的是否缺失的布尔表 】
    notna() ----->不缺失:True 【列的是否缺失的布尔列表或者表的是否缺失的布尔表 】

    1.挑选整行都不缺失:
    df[ df.notna( ).all(1) ]
    2.挑选整行有一列缺失:
    df[ df.isna( ).any(1) ]

  2. 填充方法

4-1. 自定义填充

fillna(value,method)
##
	value: 接受标量,字典,Series,DataFrame
	method:
		'ffill'--用最接近的前面的未缺失值填充
		'bfill'--用最接近的后面的未缺失值填充
 
##
fillna满足对齐特性,若传入的字典/Series/DataFrame不足以覆盖所有列/所有单元格,那对齐首列只进行覆盖部分填充

4-2. 删除填充项

dropna(axis,how='any',subset)
##
	axis: [此处axis不进行运算,可理解对每行/每列操作]
		axis=0表示删除含有缺失值的行
		axis=1表示删除含有缺失值的列
	
	how:
		'any'--包含一个缺失值,该行/列进行删除
		'all'--整行/列都包含缺失值才删除
	
	subset:
	axis=0 的时候用,表示删除的查看是否有缺失值列的范围
	
 
##
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Pandas 缺失号 的相关文章

随机推荐

  • wpf基于DevExpress实现折线图的两种方法

    以上为简单实现效果 具体需要什么样式需要自己再去好好调试 WPF实现折线图一般有三种方法 XAML文件 XAML C 代码 C 代码 今天主要结束前二者 方法一 XAML实现
  • python变量与常量

    变量与常量 一 什么是变量 变量就是指可以变化的量 量指的是事物的状态 比如人的年龄 性别 身高 体重 变量有三大组成部分 变量名 赋值符 变量值 变量名 指向赋值符右侧值的内存地址 通过内存地址去访问实际的值 赋值符 将变量值的内存地址绑
  • 二叉树——求两个节点的最近公共祖先

    题目 给定一颗二叉树的头结点 和这颗二叉树中2个节点n1和n2 求这两个节点的最近公共祖先 思路 利用后序遍历实现 对于当前节点cur 如果节点为null或者等于n1或n2中的一个 则直接返回cur 先处理左右子树 左子树返回left 右子
  • python编写一个函数判断一个数是否为偶数_26 python语言编写判断奇数偶数 动态输出菱形 eval函数编写一个控制台版的计算器...

    练习题 判断奇数偶数 1 编写Python程序 实现判断变量x是奇数还是偶数的功能 2 改写第1题 变量x需要从Python控制台输入 第1题 coding utf 8 x 5 a x 2 print a if a 0 print x的值为
  • python yuv转rgb

    注意 yuv 也有很多种格式 cv2 COLOR YUV2BGR NV12 对应的格式 所有格式C https docs opencv org 4 2 0 d8 d01 group imgproc color conversions htm
  • PHP实现苹果(IOS)内购(IAP)

    反反复复经过多次重写 内部需要 发现苹果使用PHP来验证苹果内购数据是否正确并不是一件很难的事情 我把我的一些心得写出来 以供以后有这方面需求的小伙伴参考 以PHP语言为例 谁让PHP是最好的语言呢 首先要知道苹果内购分沙箱环境和正式环境
  • Hyperledger Fabric1.0架构概览

    Hyperledger是被业界非常看到的联盟链的实现 包括IBM Intel R3 各个大型商业银行等都参与其中 带给我们关于区块链技术与软件工业 金融 保险 物流等领域碰撞结合的想象空间 在这个联盟中 有超过1 4的成员都来自中国 这更是
  • java虚拟机运行时分布区域

    概述 本文将从概念上介绍java虚拟机内存的各个区域 讲解这些区域的作用 服务对象以及其中可能产生的问题 运行时数据区域 java虚拟机所管理的内存将会包括以下几个运行时数据区域 程序计数器 程序计数器是一块较小的内存空间 它可以看作是当前
  • 动态规划之二维0-1背包问题(思考分析、解决、算法模板)

    一 问题描述 二维费用的背包问题是指对于每件物品 具有两种不同的费用 选择这件物品必须同时付出这两种代价 对于每种代价都有一个可付出的最大值 背包容量 求选择物品可以得到最大的价值 设第i件物品所需的两种代价分别为v i 和u i 两种代价
  • SiT9102:1-220MHz任意频率差分晶振,LVPECL/LVDS/HSCL/CML

    1 SiT9102简介 SiT9102差分晶振是1 220MHz之间任意频点 抖动 lt 1ps 输出支持LVDS LVPECL CML HCSL的高性能差分振荡器 频率稳定度高达 10ppm SiT9102得到了以XiLinx 为代表的主
  • 数据预处理之缺失值

    目录 0 前言 1 缺失值的识别 1 1 每个数据的识别 isnull 1 2 每列 行是否包含缺失值 isnull any isnull all 1 3 缺失值的个数 isnull sum 1 4 检查所有的数据 data info 1
  • C++ 泛型编程(四) 类模板

    前文回顾 C 泛型编程 一 基本概念 C 泛型编程 二 函数模版 C 泛型编程 三 模版实参推断 类模版 定义 定义 类模版是用来生成类的蓝图的 类似函数模版的定义 类模板以关键字 template 开始 后跟尖括号包围的模版参数列表 用关
  • jQuery仿QQ空间图片查看特效(全屏,放大,缩小,旋转,镜像,鼠标滚轮缩放)...

    地址 http www tuicool com articles 2YRVr2a 可以通过nmp或bower来安装该图片查看器插件 npm install imageviewer bower install imageviewer 复制代码
  • 关于kafka——幂等性

    怎么保证幂等性 幂等性 通俗点说 就一个数据 或者一个请求 给你重复来多次 你得确保对应的数据是不会改变的 不能出错 从业务层面考虑 比如你拿个数据要写库 你先根据主键查一下 如果这数据都有了 你就别插入了 update 一下好吧 比如你是
  • 服务器系统盘预留空间,固态硬盘的系统盘需要预留多空间?固态硬盘适不适合分区...

    固态硬盘的对于电脑的提速显而易见 再加少价格降成了萝卜价 所以固态硬盘成为绝大多数人的标配 对于固态硬盘的使用人们也是众说一词 有的人认为固态硬盘不宜多分区 会影响速度 有的人认为固态硬盘和机械硬盘的使用一样 没什么区别 关于这条 我们额外
  • vue 全局过滤器 时间格式 转换

    vue 项目要求将时间戳转成规定的时间格式 可以借助 moment js 完成 现要确定自己的数据是时间戳 安装命令 npm install moment save main js import moment from moment 设置过
  • Oracle日期格式yyyymmdd格式化为yyyy-mm-dd

    问题 日期展示为20200828需要展示为2020 08 28 解决 select TO CHAR TO DATE 20200828 yyyyMMdd YYYY MM DD FKDAT from dual 结果展示 2020 08 28
  • Docker安装Nginx+FTP访问静态资源

    1 拉取Nginx镜像 docker pull nginx latest 2 创建挂载目录 mkdir p server nginx conf mkdir p server nginx log mkdir p server nginx ht
  • 安装Ubuntu的注意事项

    安装win10 Ubuntu elemengtory OS直接进入win10而不出现linnux引导的问题 1 进入BIOS 启动UEFI 关闭Security 2 分区时应该注意的事项 1 swap 2000MB 主分区引导 起始 2 E
  • Pandas 缺失号

    三种缺失符号及其对比 pandas 1 0之前 三种记号 pandas 1 0 np nan None np NaT 时间序列用 类型 float64 Nonetype pandas libs tslibs nattype NaTType