6.python高频函数-处理缺失值isnull()、fillna()、dropna()

news2024/10/6 14:31:19

前言

如何判断pandas.DataFrame、Series是否包含缺失值NaN以及如何处理缺失值NaN。

Part.1

isnull() 函数

使用 isnull()、isna() 确定每个元素的缺失值 如果值为 NaN,则值为 True,如果不是,则值为 False。

读取数据集

panel_data = pd.read_csv("panel.bed", sep="\t")
panel_data:  Chrom      Start          End  Gene  Exon0  chr1  115252169  115252369.0  NRAS   NaN1  chr1  115256380  115256619.0  NRAS   NaN2  chr1   11168333          NaN  MTOR   NaN
print(panel_data.isnull())   Chrom  Start    End   Gene  Exon0  False  False  False  False  True1  False  False  False  False  True2  False  False   True  False  True

Part.2

all() 函数

    配合isnull() 函数, 判断每一行/列的所有元素是否缺失值。

默认情况下为列,参数为 axis=1 的行。
print(panel_data.isnull().all())Chrom    FalseStart    FalseEnd      FalseGene     FalseExon      Truedtype: bool
print(panel_data.isnull().all(axis=1))0    False1    False2    Falsedtype: bool

Part.3

any() 函数

    配合isnull() 函数, 判断每一行/列是否至少包含一个缺失值

print(panel_data.isnull().any())Chrom    FalseStart    FalseEnd       TrueGene     FalseExon      Truedtype: bool

如何处理缺失值

Part.4

fillna() 函数

    fillna() 函数用来填补数据中的空缺值。

fillna(value# 固定值填充,method# ‘ffill’ 用前一个非空缺值填充;‘bfill’ 用后一个非空缺值填充axis# ‘index’:按行填充;'columns’按列填充,默认为0inplace # 是否用新生成的列表替换原列表

4.1 填补特定值

print(panel_data.fillna("NA"))  Chrom      Start          End  Gene Exon0  chr1  115252169  115252369.0  NRAS   NA1  chr1  115256380  115256619.0  NRAS   NA2  chr1   11168333           NA  MTOR   NA

4.2 按列填写不同特定值

print(panel_data.fillna({'END':"NA", 'Exon': 'exonNA'}))  Chrom      Start          End  Gene    Exon0  chr1  115252169  115252369.0  NRAS  exonNA1  chr1  115256380  115256619.0  NRAS  exonNA2  chr1   11168333          NaN  MTOR  exonNA

Part.5

dropna() 函数

    dropna() 函数删除所有包含NaN的行或列

dropna(    axis=0,# 默认axis=0。0为按行删除,1为按列删除    how=’any’,# 默认 ‘any’。‘any’指带缺失值的所有行/列;'all’指清除一整行/列都是缺失值的行/列    thresh=None,# int,保留含有int个非nan值的行    subset=None,# 删除特定列中包含缺失值的行或列    inplace=False# 默认False,True表示直接在原数据上更改   )

5.1 删除所有包含NaN的行,相当于参数全部默认

panel_data=panel_data.dropna()panel_data=panel_data.dropna(axis=0,how='any',thresh=None,subset=None,inplace=False)
Empty DataFrameColumns: [Chrom, Start, End, Gene, Exon]Index: []

5.2 删除一整列都是NaN的列

panel_data=panel_data.dropna(axis=1,how='all')
  Chrom      Start          End  Gene0  chr1  115252169  115252369.0  NRAS1  chr1  115256380  115256619.0  NRAS2  chr1   11168333          NaN  MTOR

5.3 删除列'End'中包含nan的行,字符串要加引号

panel_data=panel_data.dropna(subset=['End'])
  Chrom      Start          End  Gene  Exon0  chr1  115252169  115252369.0  NRAS   NaN1  chr1  115256380  115256619.0  NRAS   NaN

 更多完整内容请阅读原文:6.python高频函数-处理缺失值isnull()、fillna()、dropna() (qq.com)https://mp.weixin.qq.com/s?__biz=MzIyMTI1NDU0Ng==&mid=2247484967&idx=2&sn=655baecb03c91e5b9ab39522220d5f6a&chksm=e83ec0dadf4949cc350c5c399a3ca33fd142a4b00a5c90924f20583f9ccfc857666f7d979cbb&token=1506943647&lang=zh_CN#rd

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/648627.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

从C语言到C++_19(容器适配器+stack和queue模拟实现+优先级队列priority_queue)

目录 1. 容器适配器 1.1 什么是适配器 1.2 STL标准库中stack和queue的底层结构 2. stack和queue的模拟实现 2.1 stack模拟实现 2.2 queue的模拟实现 3. deque的介绍(了解) 3.1 deque的实现原理 3.2 deque的缺陷和使用场景 4. 优先级队列 priority_queue 4.1 priorit…

编码规范、Git分支整理

代码命名规范 包命名规范 采用反域名命名规则,全部使用小写字母。一级包名为com,二级包名kl(为公司名称,可以简写),三级包名pos(根据应用进行命名),四级包名activity或…

芳禾数据CTO李明:数据分类分级与治理驱动下的应用革命丨数据猿专访

‍数据智能产业创新服务媒体 ——聚焦数智 改变商业 我们进入数字化时代,数据已经变得比任何时候都更加关键。每天,我们都在生成、处理和存储海量的数据,这些数据在企业决策、市场研究、产品开发等方面扮演着重要的角色。然而,数…

Qt编写精美输入法(历时十年迭代/可换肤/支持Qt4/5/6/win/linux/mac/嵌入式等)

一、前言 大概是从2012年就开始研究用Qt写输入法,因为项目需要,嵌入式板子上,没有对应的输入法,当初使用过很多NVR,里面也是鼠标按下弹出输入法面板进行输入,可以切换数字和字母及中文,于是借鉴…

5大趋势与10大应用场景!未来的智能工厂要这么建...

在经济下行压力、人口红利消失、消费结构升级、疫情冲击等多种因素推动下,制造企业加快转型步伐,工厂正向高效化、智能化、绿色化方向跃迁升级,不断涌现出技术创新、应用领先、成效显著的智能工厂。 近日,中国信息通信研究院发布…

常见的台账在线、可视化数据看板工具

目前已知和常见的一些在线可视化数据看板工具: Trello:Trello 是一种流行且直观的看板工具,可让创建看板、列表和卡片来管理任务和项目。它提供了一个可视化界面,可以在其中跨工作流程的不同阶段拖放卡片。还可以添加截止日期、标…

cesium调用celestrak接口获取卫星数据

celestrak是一家免费开源提供卫星空间数据的非营利性组织 接口调用 import axios from "axios";const BASE_URL "https://celestrak.org";function getTleDataFromExternal(path "") {let uri ${BASE_URL}/NORAD/elements/gp.php?GROUP${…

复习并发编程的基础知识之线程池

并发编程中,线程池是很重要的一块内容。 线程池是一种池化技术,线程池、字符串常量池和数据库链接池都属于池化技术。 使用线程池的好处: 1.提高了线程的利用率(想一想,我们不可能每打一个电话,就去买一部手…

Unity编辑器扩展-第三集-添加按钮到组件菜单并且重置组件

第二集链接:Unity编辑器扩展-第二集-按钮排序/分组/放入右键菜单_菌菌巧乐兹的博客-CSDN博客 一、本节目标效果展示 1.把按钮放到组件菜单上 2.做一个类似Reset功能,点一下能改变里面的数据 二、 把按钮放到组件菜单上 如上图,我的的组件名…

echarts 配置相关

echarts更多模板链接 http://chart.majh.top/ 1、echarts.clear()是清空当前实例,会移除实例中所有的组件和图表。 echarts.dispose()是销毁实例,销毁后实例无法再被使用。 this.chart.dispose() this.chart.clear(); // 清空图表2、series虽然是[] 数…

BRC20赛道的刚需基础设施,BrccSwap如何延续新的造富神话?

引言 BRC20代币和去中心化交易所的背景 BRC20代币赛道的刚需SWAP BrccSwap如何延续新的造富神话 结语 引言 随着加密货币市场的不断发展,BRC20代币和去中心化交易所成为了越来越受欢迎的概念。BRC20代币是建立在比特币区块链上的代币,具有高级别的…

一季度亏损47亿,全系降价背后,蔚来能否实现自救?

降价之后,蔚来能否实现自救? 6月12日,蔚来汽车宣布全系车型起售价减 3 万元;新购车首任车主用车权益调整为整车6年或15万公里质保等;免费换电补能不再作为标准用车权益,新用户可灵活选择在家充电或到充换电…

new Vue后整个的流程

文章目录 new Vue后整个的流程Vue.js 创建应用程序流程概述使用 new Vue() 创建Vue 实例流程概述 new Vue后整个的流程 new Vue({el: #app,render: h > h(App),data() {return {message: hello vue}} }).$mount(#app)Vue.js 创建应用程序流程概述 在使用 Vue.js 创建一个应…

Linux:进程管理

进程:为管理程序的运行,操作系统会给每个运行的程序都注册为系统的一个进程,并为每个进程分配一个进程id 查看进程:Linux中可以通过ps命令查看系统中的进程信息,语法: ps [-e -f] -e选项:表示显…

0基础入门---第3章---神经网络(前向传播)

🌞欢迎来到深度学习的世界 🌈博客主页:卿云阁 💌欢迎关注🎉点赞👍收藏⭐️留言📝 🌟本文由卿云阁原创! 🙏作者水平很有限,如果发现错误&#xff…

退出印度之后,越南制造也有麻烦,苹果摆脱中国制造成幻想

日前媒体报道指苹果在越南的代工厂面临麻烦,由于越南缺乏足够的电力供应,越南的工厂出现断电的问题,工厂生产被迫暂停,最严重的时候连续20天白天无法开工,这对于苹果来说无疑是又一个重大打击。 一、苹果的印度制造计划…

MODNet Background Remover 环境搭建步骤

1、安装 Python 3.8以上 2、安装 CUDA环境 4、下载 MODNet Background Remover 5、解压并进入到 MODNet Background Remover文件夹 6、创建虚拟环境 python -m venv venv7、使用虚拟环境 .\venv\Scripts\activate8、安装依赖包 pip install --upgrade pippip install --upg…

阿里云服务器租用费用_轻量和ECS价格表

2023年阿里云服务器租用费用,阿里云轻量应用服务器2核2G3M带宽轻量服务器一年108元,2核4G4M带宽轻量服务器一年297.98元12个月,阿里云u1服务器2核4G、2核8G、4核8G、8核16G、4核16G、8核64等配置新人3折,云服务器c7、g7和r7均有活…

VMware Horizon 8 运维系列(二)桌面计算机无法访问代理

前言 Horizon 8 在使用即时克隆桌面池,偶尔会出现某个桌面计算机显示“无法访问代理”状态,这时该计算机无法通过客户机来访问。 一、问题描述 1、问题场景 桌面池类型:即时克隆桌面池 2、查看桌面池 查看桌面池,发现有计算机状态为“无法访问代理“,如下图: 二、问题…

回归预测 | MATLAB实现基于BiLSTM-AdaBoost双向长短期记忆网络结合AdaBoost多输入单输出回归预测

回归预测 | MATLAB实现基于BiLSTM-AdaBoost双向长短期记忆网络结合AdaBoost多输入单输出回归预测 目录 回归预测 | MATLAB实现基于BiLSTM-AdaBoost双向长短期记忆网络结合AdaBoost多输入单输出回归预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 1.MATLAB实现…