当前位置: 首页 > news >正文

【Pandas】Python中None、null和NaN

经常混淆。

空值一般表示数据未知、不适用或将在以后添加数据。缺失值指数据集中某个或某些属性的值是不完整的。

一般空值使用None表示,缺失值使用NaN表示。

注意: python中没有null,但是有和其意义相近的None。


目录

1、None

2. NaN

3. Pandas特别说明

判断缺失值方法

个人理解的等式


1、None

None表示空值,它是一个特殊 Python 对象, None的类型是NoneType
None 是 NoneType 数据类型的唯一值,我们不能再创建其它 NoneType 类型的变量,但是可以将 None 赋值给任何变量。

>>> type(None)
<class 'NoneType'>

该对象在Python解释器启动时自动创建,解释器停止时销毁。

特点

  • None 不支持任何运算
  • None 和任何其他的数据类型比较永远返回False
  • None 有自己的数据类型NoneType,不能创建其他NoneType对象(它只有一个值None)
  • None 与0、空列表、空字符串不一样
  • 可以将None赋值给任何变量,也可以给None值变量赋值
  • None是没有像len,size等属性的,要判断一个变量是否为None,直接使用
>>> None == 0 
False
>>> None == '' 
False
>>> None == False 
False

作为没有return关键函数的返回值

对于所有没有 return 语句的函数定义,Python 都会在末尾加上 return None,使用不带值的 return 语句(也就是只有 return 关键字本身),那么就返回 None。

def func()没有写返回值,那么返回值就是None

>>> def function():print('hanshu')result = function() print(result)
hanshu
None

2. NaN

当使用Numpy或者Pandas处理数据的时候,经常会遇到条目中没有没有数据,然后当我们在去打印的时候就会出现NaN。

  • NaN是没有办法和任何数据进行比较。
  • 它和任何值都不相等,包括他自己。
  • 它的类型是float,但是和任何值做计算的结果都是NaN
import pandas as pd
df = pd.read_excel('/Users/mac/Desktop/test.xlsx',header=None)
df 0   1   2
0   1   2.0 3
1   4   NaN 6
2   7   8.0 9

原数据为下图:

>>> num = df.loc[1,1] 
>>> num
nan
>>> result = num + 2  # nan+2是nan哦
>>> result 
>>> nan

nan和np.nan的关系是?一样的。

3. Pandas特别说明

  • 在pandas中的空值是""(直接一对双引号);空字符串:" ",中间多了一个空格
  • 缺失值在DataFrame指的是NaN或者NaT,在Series中指的是none或者nan
  • 当我们需要人为指定一个缺失值的时候,默认用None和np.nan来表示

 其次,我们看看Pandas中None和NaN的关联:np.nan就是NaN,数据类型float64

  • 在我们创建的时候,默认二者是相同的;
  • 如果我们指定赋值为None,在Series中依然会变成none,并且是以float64的数据类型显示。

下面截图有问题,None不允许赋值。

 有问题

判断缺失值方法

 Pandas中提供了一些用于检查处理空值缺失值的函数或方法

  • 使用isnull()notnull()函数可以判断数据集中是否存在空值和缺失值
  • 对于缺失数据可以使用dropna()fillna()方法对缺失值进行删除和填充,如果是None则不生效。

个人理解的等式

  • NULL(数据库)=None(python列表)=NaN(pandas)
  • 空字符(数据库)=空字符(python列表)=空字符(pandas)
  • 从csv中获取数据时:空值(csv)=NULL(数据库)=NaN(pandas)
  • 转为csv数据时:数据库中的NULL\空字符pandas中的NaN\空字符,都变成csv中的空值。


 


参考:

None、null和NaN - 简书

图解pandas缺失值处理_pandas none赋值_尤尔小屋的猫的博客-CSDN博客

相关文章:

【Pandas】Python中None、null和NaN

经常混淆。 空值一般表示数据未知、不适用或将在以后添加数据。缺失值指数据集中某个或某些属性的值是不完整的。 一般空值使用None表示&#xff0c;缺失值使用NaN表示。 注意&#xff1a; python中没有null&#xff0c;但是有和其意义相近的None。 目录 1、None 2. NaN …...

线性表的学习

线性表定义 n个类型相同数据元素的有限序列&#xff0c;记作&#xff1a;a0&#xff0c;a1,a2,a3,...ai-1,ai,ai1...an-1(这里的0&#xff0c;1&#xff0c;2&#xff0c;3&#xff0c;i-1,i,i1,n-1都是元素的序号) 特点 除第一个元素无直接前驱。最后一个元素无直接后续&am…...

51单片机学习笔记_13 ADC

ADC 使得调节开发板上的电位器时&#xff0c;数码管上能够显示 AD 模块 采集电位器的电压值且随之变化。 开发板上有三个应用&#xff1a;光敏电阻&#xff0c;热敏电阻&#xff0c;电位器。 一般 AD 转换有多个输入&#xff0c;提高使用效率。 ADC 通过地址锁存与译码判断采…...

类和对象的基本认识之内部类

什么是内部类&#xff1f;当一个事物的内部&#xff0c;还有一个部分需要一个完整的结构进行描述&#xff0c;而这个内部的完整的结构又只为外部事物提供服 务&#xff0c;那么这个内部的完整结构最好使用内部类。在 Java 中&#xff0c;可以将一个类定义在另一个类或者一个方法…...

【操作系统】进程和线程是什么之间是如何通信的

文章目录1、进程1.1、什么是进程1.2、进程的状态1.3、进程的控制结构1.4、进程的控制1.5、进程的上下文切换1.6、进程上下文切换场景1.7、进程间通信2、线程2.1、什么是线程2.2、线程的上下文切换2.3、线程间通信3、线程与进程的联系1、进程 1.1、什么是进程 进程(process) 是…...

setup、ref、reactive、computed

setup 理解&#xff1a;Vue3.0 中一个新的配置项&#xff0c;值为一个函数 setup 是所有 Composition API&#xff08;组合API&#xff09;“表演的舞台” 组件中所用到的数据、方法等&#xff0c;均要配置在 setup 中 setup 函数的两种返回值&#xff1a; 若返回一个对象…...

【Gem5】有关gem5模拟器的资料导航

网上有关gem5模拟器的资料、博客良莠不齐&#xff0c;这里记录一些总结的很好的博客与自己的学习探索。 一、gem5模拟器使用入门 官方的教程&#xff1a; learning_gem5&#xff1a;包括gem5简介、修改扩展gem5的示例、Ruby相关的缓存一致性等。gem5 Documentation&#xff1…...

【CSS】清除浮动 ① ( 清除浮动简介 | 清除浮动语法 | 清除浮动 - 额外标签法 )

文章目录一、清除浮动简介二、清除浮动语法三、清除浮动 - 额外标签法1、额外标签法 - 语法说明2、问题代码示例3、额外标签法代码示例一、清除浮动简介 在开发页面时 , 遇到下面的情况 , 父容器 没有设置 内容高度 样式 , 容器中的 子元素 设置了 浮动样式 , 脱离了标准流 , …...

Shell test 命令

文章目录Shell test 命令数值测试字符串测试文件测试Shell test 命令 Shell中的 test 命令用于检查某个条件是否成立&#xff0c;它可以进行数值、字符和文件三个方面的测试。 数值测试 参数说明-eq等于则为真-ne不等于则为真-gt大于则为真-ge大于等于则为真-lt小于则为真-le…...

pytorch项目实战之实时人脸属性检测系统

简介 本项目采用CelebA人脸属性数据集训练人脸属性分类模型&#xff0c;使用mediapipe进行人脸检测&#xff0c;使用onnxruntime进行模型的推理&#xff0c;最终在intel的奔腾cpu上实现30-100帧完整的实时人脸属性识别系统。 ps:本来是打算写成付费专栏的&#xff0c;毕竟这是…...

JS和Jquery

js函数 function 方法名&#xff08;参数&#xff09;{ 方法体 return 返回值&#xff1b; } js事件 事件介绍 事件指的就是当某些组件执行了某些操作后&#xff0c;会触发某些代码的执行 onload 某个页面或图像被完成加载 onsubmit 当表单提交时触发事件 onclick 鼠标单击事件…...

Linux设置固定IP

vi /etc/sysconfig/network-scripts/ifcfg-ens33 第一个修改是开启网络 修改完成后重启网络服务 sudo service network restart 然后就可以看到ip 地址了 然后我们开始修改固定IP 主要是下图中的两部分 BOOTPROTO从dhcp改为static HWADD好像改不改都行&#xff0c;我改了&…...

面试准备啊

fail fast 是把数组原来的更改次数记住 每次都去比较 变了 就抛异常 如果数组容量没到64 会先扩容 再树化 缺点&#xff1a;全是偶数 hash分布不均匀 质数比较好&#xff08;二次哈希也不需要&#xff09; 效率好 2的n次幂 使用内存屏障解决指令重排序 第一次扩容和之后的不…...

机器人工程专业师生的第二张名片

课堂上多次提及第二张名片。什么是CatGPT-使用效果如何-专业感性非理性总结如下&#xff1a;机器人工程的工作与考研之困惑→汇总篇←其中包括&#xff1a;☞ 机器人工程的工作与考研之困惑“卷”☞ 机器人工程的工作与考研之困惑“歧视”☞ 机器人工程的工作与考研之困惑“取舍…...

【云原生之企业级容器技术 Docker实战一】Docker 介绍

目录一、Docker 介绍1.1 容器历史1.2 Docker 是什么1.3 Docker 和虚拟机&#xff0c;物理主机1.4 Docker 的组成1.5 Namespace1.6 Control groups1.7 容器管理工具1.8 Docker 的优势1.9 Docker 的缺点1.10 容器的相关技术1.10.1 容器规范1.10.2 容器 runtime1.10.3 容器管理工具…...

【Microsoft】与 Bing AI 进行 ⌈狂飙⌋

&#x1f38a; 今天是3月8号&#xff0c;❤️农历二月十七&#xff0c;&#x1f495;祝广大女同胞们&#x1f469;女神节快乐&#x1f389;&#xff01;——以创作之名致敬女性开发者文章目录序言Ⅰ、Bing AI初体验Ⅱ、代码生成Ⅲ、生成图像Ⅳ、使用次数Ⅴ、总结序言 ​ 近期&…...

PyDolphinScheduler发布4.0.2版本,修复无法提交工作流到DolphinScheduler 3.1.4的问题

点击蓝字 关注我们PyDolphinScheduler 正式发布 4.0.2 版本&#xff0c;主要修复了 4.0.1 版本无法提交工作流到 Apache DolphinScheduler 3.1.4 的问题。除此之外&#xff0c;PyDolphinScheduler 4.0.2 较大的优化还包括&#xff1a;PyDolphinScheduler 校验 Apache DolphinSc…...

go-cqhttp安装使用

2023-03-28 时效性强 go-cqhttp qq机器人 qq bot 安装 本地虚拟机 centos7安装使用 浏览官方文档go-cqhttp 帮助中心 下载&#xff1a;Releases Mrs4s/go-cqhttp GitHub 当前最新版本v1.0.0-rc5 下载go-cqhttp_1.0.0-rc5_linux_amd64.rpm 传到服务器&#xff0c;新…...

论文阅读和分析:Hybrid Mathematical Symbol Recognition using Support Vector Machines

HMER论文系列 1、论文阅读和分析&#xff1a;When Counting Meets HMER Counting-Aware Network for HMER_KPer_Yang的博客-CSDN博客 2、论文阅读和分析&#xff1a;Syntax-Aware Network for Handwritten Mathematical Expression Recognition_KPer_Yang的博客-CSDN博客 3、论…...

05期:面向业务的消息服务落地实践

这里记录的是学习分享内容&#xff0c;文章维护在 Github&#xff1a;studeyang/leanrning-share。 我们在上次分享中聊到了领域驱动设计和微服务&#xff0c;在 DDD 中有一个术语叫做领域事件&#xff0c;例如订单模型中的订单已创建、商品已发货。领域事件会触发下一步的业务…...

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...

多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度​

一、引言&#xff1a;多云环境的技术复杂性本质​​ 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时&#xff0c;​​基础设施的技术债呈现指数级积累​​。网络连接、身份认证、成本管理这三大核心挑战相互嵌套&#xff1a;跨云网络构建数据…...

基于ASP.NET+ SQL Server实现(Web)医院信息管理系统

医院信息管理系统 1. 课程设计内容 在 visual studio 2017 平台上&#xff0c;开发一个“医院信息管理系统”Web 程序。 2. 课程设计目的 综合运用 c#.net 知识&#xff0c;在 vs 2017 平台上&#xff0c;进行 ASP.NET 应用程序和简易网站的开发&#xff1b;初步熟悉开发一…...

ssc377d修改flash分区大小

1、flash的分区默认分配16M、 / # df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9M 1.9M 0 100% / /dev/mtdblock4 3.0M...

【JVM】- 内存结构

引言 JVM&#xff1a;Java Virtual Machine 定义&#xff1a;Java虚拟机&#xff0c;Java二进制字节码的运行环境好处&#xff1a; 一次编写&#xff0c;到处运行自动内存管理&#xff0c;垃圾回收的功能数组下标越界检查&#xff08;会抛异常&#xff0c;不会覆盖到其他代码…...

对WWDC 2025 Keynote 内容的预测

借助我们以往对苹果公司发展路径的深入研究经验&#xff0c;以及大语言模型的分析能力&#xff0c;我们系统梳理了多年来苹果 WWDC 主题演讲的规律。在 WWDC 2025 即将揭幕之际&#xff0c;我们让 ChatGPT 对今年的 Keynote 内容进行了一个初步预测&#xff0c;聊作存档。等到明…...

1.3 VSCode安装与环境配置

进入网址Visual Studio Code - Code Editing. Redefined下载.deb文件&#xff0c;然后打开终端&#xff0c;进入下载文件夹&#xff0c;键入命令 sudo dpkg -i code_1.100.3-1748872405_amd64.deb 在终端键入命令code即启动vscode 需要安装插件列表 1.Chinese简化 2.ros …...

2025盘古石杯决赛【手机取证】

前言 第三届盘古石杯国际电子数据取证大赛决赛 最后一题没有解出来&#xff0c;实在找不到&#xff0c;希望有大佬教一下我。 还有就会议时间&#xff0c;我感觉不是图片时间&#xff0c;因为在电脑看到是其他时间用老会议系统开的会。 手机取证 1、分析鸿蒙手机检材&#x…...

《基于Apache Flink的流处理》笔记

思维导图 1-3 章 4-7章 8-11 章 参考资料 源码&#xff1a; https://github.com/streaming-with-flink 博客 https://flink.apache.org/bloghttps://www.ververica.com/blog 聚会及会议 https://flink-forward.orghttps://www.meetup.com/topics/apache-flink https://n…...

SpringTask-03.入门案例

一.入门案例 启动类&#xff1a; package com.sky;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCach…...