dropna()删除缺失值_pandas的dropna方法

dropna()删除缺失值_pandas的dropna方法约定:importpandasaspdimportnumpyasnpfromnumpyimportnanasNaN滤除缺失数据pandas的设计目标之一就是使得处理缺失数据的任务更加轻松些。pandas使用NaN作为缺失数据的标记。使用dropna使得滤除缺失数据更加得心应手。一、处理Series对象通过dropna(…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

约定:

import pandas as pd
import numpy as np
from numpy import nan as NaN

滤除缺失数据

pandas的设计目标之一就是使得处理缺失数据的任务更加轻松些。pandas使用NaN作为缺失数据的标记。

使用dropna使得滤除缺失数据更加得心应手。

一、处理Series对象

  • 通过**dropna()**滤除缺失数据:
se1=pd.Series([4,NaN,8,NaN,5])
print(se1)
se1.dropna()

代码结果:

0    4.0
1    NaN
2    8.0
3    NaN
4    5.0
dtype: float64

0    4.0
2    8.0
4    5.0
dtype: float64
  • 通过布尔序列也能滤除:
se1[se1.notnull()]

代码结果:

0    4.0
2    8.0
4    5.0
dtype: float64

二、处理DataFrame对象

处理DataFrame对象比较复杂,因为你可能需要丢弃所有的NaN或部分NaN。

df1=pd.DataFrame([[1,2,3],[NaN,NaN,2],[NaN,NaN,NaN],[8,8,NaN]])
df1

代码结果:

0 1 2
0 1.0 2.0 3.0
1 NaN NaN 2.0
2 NaN NaN NaN
3 8.0 8.0 NaN
  • 默认滤除所有包含NaN:
df1.dropna()

代码结果:

0 1 2
0 1.0 2.0 3.0
  • 传入**how=‘all’**滤除全为NaN的行:
df1.dropna(how='all')

代码结果:

0 1 2
0 1.0 2.0 3.0
1 NaN NaN 2.0
3 8.0 8.0 NaN
  • 传入axis=1滤除列:
df1[3]=NaN
df1

代码结果:

0 1 2 3
0 1.0 2.0 3.0 NaN
1 NaN NaN 2.0 NaN
2 NaN NaN NaN NaN
3 8.0 8.0 NaN NaN
df1.dropna(axis=1,how="all")

代码结果:

0 1 2
0 1.0 2.0 3.0
1 NaN NaN 2.0
2 NaN NaN NaN
3 8.0 8.0 NaN
  • 传入thresh=n保留至少有n个非NaN数据的行:
df1.dropna(thresh=1)

代码结果:

0 1 2 3
0 1.0 2.0 3.0 NaN
1 NaN NaN 2.0 NaN
3 8.0 8.0 NaN NaN
df1.dropna(thresh=3)

代码结果:

0 1 2 3
0 1.0 2.0 3.0 NaN

谢谢大家的浏览,
希望我的努力能帮助到您,
共勉!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/192112.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 关于安装QCAT/QXDM异常的问题

    关于安装QCAT/QXDM异常的问题第一种情况安装之后报licenseerror原因:可能安装时出错;解决:卸载QXDM和QCAT之后,删除注册表的信息,删除C盘文件夹内容:注册表位置:HKEY_LOCAL_MACHINE\SOFTWARE\Qualcomm\QIKC盘内容位置:C:\ProgramData\Qualcomm\QIKC:\ProgramFiles(x86)\Qualcomm\QIKTool…

    2022年10月2日
    2
  • for遍历list Python_不属于python循环语句的是

    for遍历list Python_不属于python循环语句的是for循环是最常用的循环语句,在各种高级编程语言中都会被频繁使用,在python中也不例外,除了常规的for循环或者嵌套的for循环语法以外,python还有一种精巧的list内的for循环语句的语法,如果能熟练掌握这种语法对提高编程的效率有很大的帮助,今天我给大家我给大家分享一些我收集的关于list内使用for循环的小技巧,希望对大家有所帮助:1.简单替换for循环它的主要语法结构如下:my_list=[表达式for循环项in循环体(if条件)]这里表达式可以为循环项,

    2022年8月12日
    11
  • busybox配置telnetd

    busybox配置telnetd

    2021年11月15日
    87
  • Swift-Moya 源码解析

    Swift-Moya 源码解析1 Moya 的定义 Moya 是一个高度抽象的网络库 他的理念是让你不用关心网络请求的底层的实现细节 只用定义你关心的业务 且 Moya 采用桥接和组合来进行封装 默认桥接了 Alamofire 使得 Moya 非常好扩展 让你不用修改 Moya 源码就可以轻易定制 官方给出几个 Moya 主要优点 编译时检查 APIendpoint 权限让你使用枚举定义各种不同 Target endpoints 把 stubs 当做一等公民对待 因此测试超级简单 2 Moya 的使用 Moya 的使用分成几步 首先需要先自定义一个

    2025年10月9日
    4
  • PyTorch碎片:F.pad的图文透彻理解

    PyTorch碎片:F.pad的图文透彻理解1.F.pad函数定义F.pad是pytorch内置的tensor扩充函数,便于对数据集图像或中间层特征进行维度扩充,下面是pytorch官方给出的函数定义。torch.nn.functional.pad(input,pad,mode=’constant’,value=0)函数变量说明:input需要扩充的tensor,可以是图像数据,抑或是特征矩阵数据pad扩充维度,用…

    2022年8月13日
    29
  • 青龙面板使用_京东薅羊毛 青龙面板

    青龙面板使用_京东薅羊毛 青龙面板轻量服务器—-青龙面板开启京东白嫖1.拉取镜像,部署dockerpullwhyour/qinglong:latestdockerrun-dit\-v$PWD/ql/config:/ql/config\-v$PWD/ql/log:/ql/log\-v$PWD/ql/db:/ql/db\-p5700:5700\–nameqinglong\–hostnameqinglong\–restartalways

    2026年1月17日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号