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

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


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)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • nodejs安装与环境变量配置[通俗易懂]

    nodejs安装与环境变量配置[通俗易懂]NodeJsNode.js简介发展史特性模块下载nodejs系统环境nodejs(msi)方式的安装nodejs(zip)方式的安装环境配置Linux下安装Node测试参考资料Node.js简介Node是一个让JavaScript运行在服务端的开发平台,它让JavaScript成为与PHP、Python、Perl、Ruby等服务端语言平起平坐的脚本语言。发布于2009年5月,由R…

    2022年6月12日
  • PXE启动原理以及与普通Linux启动的对比

    PXE启动原理以及与普通Linux启动的对比关于PXE部署的详细配置的文章已经有不少了,这篇文章主要讲一下PXE启动的原理以及PXE启动和普通Linux启动的对比。

    2022年6月29日
  • docker访问宿主机端口_docker 访问宿主机局域网

    docker访问宿主机端口_docker 访问宿主机局域网有时候就需要在docker容器里访问宿主机提供的服务。例如容器里的应用需要访问宿主机的mysql服务。方案一:宿主机执行ifconfig会看到docker0那个ip,可以使用来访问宿主机方案二:docker18.03加入了一个feature,在容器中可以通过host.docker.internal来访问主机UseyourinternalIPaddres…

    2022年8月21日
  • ora00279解决办法_oracle物化视图日志表

    ora00279解决办法_oracle物化视图日志表某物化视图在增量刷新的时候报错ora-00920,尝试全量刷新的时候,报错ora-00904。BEGINDBMS_MVIEW.REFRESH(‘MV_ABCD_K_PPLLCJ’,’F’);END;ORA-12018:在创建”MYJUKKA”.”MV_ABCD_K_PPLLCJ”的代码时出现以下错误ORA-00920:无效的关系运算符ORA-06512:在”SYS.SNAPSHOT”,line…

    2022年9月20日
  • slam技术前景_技术市场的概念

    slam技术前景_技术市场的概念SLAM技术与市场杂谈

    2022年10月1日
  • Mysql explain-type使用详解

    Mysql explain-type使用详解下面是测试用例,楼主的测试使用的MySQL版本是5.6.27-log。show createtableuser_man;CREATETABLE`user_man`( `manid`bigint(20)NOTNULLAUTO_INCREMENT, `manname`varchar(32)DEFAULTNULL, `manage`int(6)DEFAULTNULL…

    2022年10月17日

发表回复

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

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