Pandas中dropna,fillna,isnull函数介绍

目录

  • df.dropna函数
  • df.fillna 函数
  • df.isnull函数
  • 综合案例

df.dropna函数

df.dropna是Pandas中的一个方法,用于从DataFrame中删除缺失值(NaN或None)。

该方法的基本语法如下:

df.dropna(axis=0, how='any', thresh=None, subset=None, inplace=False)
  1. axis:指定方法沿着哪个轴删除缺失值。0表示删除行,1表示删除列。
  2. how:确定是否基于任何或所有缺失值来删除行或列。'any’表示如果存在任何空值,则删除,'all’表示仅当所有值为空时才删除。
  3. thresh:指定保留轴所需的最小非空值数。例如,如果thresh=2,则仅在非空值少于2个时才删除行或列。
  4. subset:定义沿指定轴考虑缺失值的标签。例如,subset=[‘A’, ‘B’]将仅考虑’A’和’B’列的缺失值。
  5. inplace:如果为True,则该操作将就地修改DataFrame。如果为False,则将返回一个删除了缺失值的新DataFrame。

以下是使用dropna从DataFrame中删除缺失值的示例:

import pandas as pd

# 创建一个包含缺失值的DataFrame
data = {'A': [1, 2, None, 4], 'B': [None, 5, 6, 7]}
df = pd.DataFrame(data)

# 删除任何包含缺失值的行
cleaned_df = df.dropna()
print(cleaned_df)


     A    B
1  2.0  5.0
3  4.0  7.0

df.fillna 函数

df.fillna 是 Pandas 中的一个方法,用于填充 DataFrame 中的缺失值(NaN 或 None)。

该方法的基本语法如下:

df.fillna(value=None, method=None, axis=None, inplace=False, limit=None, downcast=None)
  1. value:指定用于填充缺失值的标量值、字典、Series 或 DataFrame。
  2. method:指定用于填充缺失值的插值方法,例如’ffill’(向前填充)或’bfill’(向后填充)。
  3. axis:指定沿着哪个轴填充缺失值。0 表示沿着行的方向填充,1 表示沿着列的方向填充。
  4. inplace:如果为True,则该操作将就地修改 DataFrame。如果为 False,则将返回一个填充了缺失值的新 DataFrame。
  5. limit:对于插值方法,指定连续缺失值的最大填充次数。 downcast:指定尝试将填充值转换为更小的数据类型。

以下是使用fillna填充 DataFrame 中缺失值的示例:

import pandas as pd

# 创建一个包含缺失值的 DataFrame
data = {'A': [1, 2, None, 4], 'B': [None, 5, 6, 7]}
df = pd.DataFrame(data)

# 用指定的值填充缺失值
filled_df = df.fillna(value=0)
print(filled_df)


     A    B
0  1.0  0.0
1  2.0  5.0
2  0.0  6.0
3  4.0  7.0

df.isnull函数

df.isnull 是 Pandas 中的一个方法,用于检测 DataFrame 中的缺失值(NaN 或 None)。

该方法的基本语法如下:

df.isnull()

该方法返回一个布尔值的 DataFrame,其中元素为 True 表示对应的元素是缺失值,元素为 False 表示对应的元素不是缺失值。

以下是使用 isnull 检测 DataFrame 中的缺失值的示例:

import pandas as pd

# 创建一个包含缺失值的 DataFrame
data = {'A': [1, 2, None, 4], 'B': [None, 5, 6, 7]}
df = pd.DataFrame(data)

# 检测 DataFrame 中的缺失值
missing_values = df.isnull()
print(missing_values)

       A      B
0  False   True
1  False  False
2   True  False
3  False  False

综合案例

import pandas as pd
import numpy as np
date =pd.date_range('20160101',periods=6)


df = pd.DataFrame(np.arange(24).reshape((6,4)),index=date,columns=['A','B','C','D'])

df.iloc[0,1] =np.nan
df.iloc[1,2] =np.nan
print(df.dropna(axis=0,how='any')) #axis='0’行,axis='1’列,how=‘all’/‘any’

print(df.fillna(value=0))
print(df.isnull())

print(np.any(df.isnull()) == True)

             A     B     C   D
2016-01-03   8   9.0  10.0  11
2016-01-04  12  13.0  14.0  15
2016-01-05  16  17.0  18.0  19
2016-01-06  20  21.0  22.0  23
             A     B     C   D
2016-01-01   0   0.0   2.0   3
2016-01-02   4   5.0   0.0   7
2016-01-03   8   9.0  10.0  11
2016-01-04  12  13.0  14.0  15
2016-01-05  16  17.0  18.0  19
2016-01-06  20  21.0  22.0  23
                A      B      C      D
2016-01-01  False   True  False  False
2016-01-02  False  False   True  False
2016-01-03  False  False  False  False
2016-01-04  False  False  False  False
2016-01-05  False  False  False  False
2016-01-06  False  False  False  False
True

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

fastadmin 部署后前台会员中心出现404错误

访问前台会员中心出现404错误。 解决:nginx访问站点增加伪静态 location / {if (!-e $request_filename){rewrite ^(.*)$ /index.php?s$1 last; break;} }在phpstydy中增加伪静态,如图:

基于java的工费医疗报销管理系统设计与实现

博主介绍:专注于Java vue .net php phython 小程序 等诸多技术领域和毕业项目实战、企业信息化系统建设,从业十五余年开发设计教学工作 ☆☆☆ 精彩专栏推荐订阅☆☆☆☆☆不然下次找不到哟 我的博客空间发布了1000毕设题目 方便大家学习使用 感兴趣的…

专题六_模拟_算法详细总结

目录 模拟算法 1.模拟算法流程(一定要在草稿纸上演算一遍流程) 2.把流程转换成代码 1. 替换所有的问号(easy) 解析: 1.暴力: 2.优化:(找规律) 总结: …

Vue3+Element Plus:使用el-dialog,对话框可拖动,且对话框弹出时仍然能够在背景页(对话框外部的页面部分)上进行滚动以及输入框输入信息

【需求】 使用Element Plus中的el-dialog默认是模态的(即它会阻止用户与对话框外部的元素进行交互),对话框弹出时仍然能够在背景页(对话框外部的页面部分)上进行滚动以及输入框输入信息,且对话框可拖动 【…

TCP/IP五层模型

OSI七层模型 OSI(Open Systems Interconnection)七层模型是一种概念框架,用于标准化不同计算机系统之间的通信过程 它由国际标准化组织(ISO)在1984年提出,主要用于网络通信 这七层模型从上到下分别是: 应用层(Application Layer):为应用软件提供网络服…

tomcat服务器

tomcat简介 Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器。Tomcat 虽然和 Apache 或者 Nginx 这些 Web 服务器一样,具有处理 HTML 页面的功能,然而由于其处理静态 HTML 的能力远不及 Apache 或者 Nginx&#x…

Leetcode 93-复原 IP 地址

有效 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 ‘.’ 分隔。 例如:“0.1.2.201” 和 “192.168.1.1” 是 有效 IP 地址,但是 “0.011.255.245”、“192.168.…

计算机毕业设计 服装生产管理系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点…

MySQL之表内容的增删改查(含oracel 9i经典测试雇佣表下载)

目录 一:Create 二:Retrieve 1.select列 2.where条件 3.结果排序 4. 筛选分页结果 三:Update 四:Delete 1.删除数据 2. 截断表 五:插入查询结果 六:聚合函数 七:group by子句的使用 表内容的CRUD操作 : Create(创建), Retrieve(读取)…

Win10 录屏秘籍大公开:从新手到高手的进阶之路

之前因为某些原因不方便到客户那里进行软件培训,我们就发现录屏讲解供客户随时查看的方式好像更有效果。这次我就介绍一些能够实现win10怎么录屏操作的工具讲解。 1.福昕录屏大师 链接:www.foxitsoftware.cn/REC/ 这个工具是一款专业的电脑录屏软件&a…

【三大运营商】大数据平台体系架构【顶层规划设计】

在国内运营商(如中国移动、中国联通、中国电信)的大数据平台建设中,顶层规划设计至关重要。以下是针对三大运营商为例【如电信】的大数据平台体系架构的顶层规划设计方案,涵盖整体架构、关键组件、数据管理、应用场景等方面。 1. …

2023年全国研究生数学建模竞赛华为杯B题DFT类矩阵的整数分解逼近求解全过程文档及程序

2023年全国研究生数学建模竞赛华为杯 B题 DFT类矩阵的整数分解逼近 原题再现: 一、问题背景   离散傅里叶变换(Discrete Fourier Transform,DFT)作为一种基本工具广泛应用于工程、科学以及数学领域。例如,通信信号…

react 基础语法

前置知识 类的回顾 通过class关键字定义一个类 类名首字母大写 class类有constructor构造器 new 一个类得到一个实例 类还有方法,该方法也会在其原型上 static静态数据,访问静态属性通过 类名.id getter和setter getter:定义一个属性&…

kubernetes存储之GlusterFS(GlusterFS for Kubernetes Storage)

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:Linux运维老纪的首页…

Agent Zero

文章目录 一、关于 Agent Zero现在有了UI:关键概念1、General-purpose 助理2、计算机作为工具3、多智能体合作4、完全可定制和可扩展5、沟通是关键 不错的功能记住已知问题理想的环境 二、Setup - 如何在Windows和MacOS上安装Agent Zero提醒:1、安装Cond…

Tiny-universe学习笔记1:Qwen-blog

本文是参与Datawhale Tiny-universe组队学习的第一篇学习笔记,参考链接:https://github.com/datawhalechina/tiny-universe Tiny-universe学习笔记1:Qwen-blog Qwen整体架构与Llama2类似,具体如下图所示: 其中&#…

深度学习笔记(8)预训练模型

深度学习笔记(8)预训练模型 文章目录 深度学习笔记(8)预训练模型一、预训练模型构建一、微调模型,训练自己的数据1.导入数据集2.数据集处理方法3.完形填空训练 使用分词器将文本转换为模型的输入格式参数 return_tenso…

Java | Leetcode Java题解之第417题太平洋大西洋水流问题

题目&#xff1a; 题解&#xff1a; class Solution {static int[][] dirs {{-1, 0}, {1, 0}, {0, -1}, {0, 1}};int[][] heights;int m, n;public List<List<Integer>> pacificAtlantic(int[][] heights) {this.heights heights;this.m heights.length;this.n…

【JSrpc破解前端加密问题】

目录 一、背景 二、项目介绍 三、JSrpc 处理前端加密步骤 一、背景 解决日常渗透测试、红蓝对抗中的前端密码加密问题&#xff0c;让你的爆破更加丝滑&#xff1b;降低js逆向加密的难度&#xff0c;降低前端加密逻辑分析工作量和难度。 二、项目介绍 运行服务器程序和js脚本…

springCloud(一)注册中心

1.Eureka 要是user-service服务有多个&#xff0c;order-service该怎么调用&#xff1f; 这就需要用到 注册中心 了 。 1.1 搭建Eureka服务 1. pom引入依赖 <dependencies><!--eureka服务端--><dependency><groupId>org.springframework.cloud</gr…