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


相关推荐

  • VM激活秘钥_windows10永久激活密钥

    VM激活秘钥_windows10永久激活密钥激活密钥VMware2017v14.x永久许可证激活密钥FF31K-AHZD1-H8ETZ-8WWEZ-WUUVACV7T2-6WY5Q-48EWP-ZXY7X-QGUWD

    2025年11月16日
    2
  • 大数据告诉你中老年人上网爱干什么[通俗易懂]

    大数据告诉你中老年人上网爱干什么[通俗易懂]中老年人最爱用微信,最喜欢看心灵鸡汤,最易被“免费领红包”骗……昨天,中国社科院国情调查与大数据研究中心和腾讯社会研究中心联合发布《中老年互联网生活研究报告》,报告对50岁以上人群的互联网生活进行了多方面解读。数据显示,中老年人不仅将微信作为即时通讯工具,还将其视作表达情感和维系社交的互动平台,如在微信里发表情和图片(81.8%)或小视频(68.9%),在朋友圈与他人互动(81.6%),接收或发微…

    2022年10月5日
    4
  • 数据分析

    数据分析

    2021年11月21日
    74
  • hadoop主要学什么?hadoop学习总结

    hadoop主要学什么?hadoop学习总结Hadoop 是在分布式服务器集群上存储海量数据并运行分布式分析应用的一个平台 其核心部件是 HDFS 与 MapReduce HDFS 是一个分布式文件系统 可对数据系统进行分布式储存读取 MapReduce 是一个计算框架 通过对计算任务的拆分 再根据任务调度器 对任务进行分布式计算 Hadoop 是大数据开发必不可少的框架技术 因此 想要学好大数据 必须要掌握 Hadoop 相关知识 那么 hadoop 主要学

    2026年1月28日
    1
  • Java之单例模式

    Java之单例模式

    2021年7月21日
    55
  • centos下修改mysql默认端口_centos7修改mysql默认端口「建议收藏」

    centos下修改mysql默认端口_centos7修改mysql默认端口「建议收藏」项目运行时,一般mysql的默认端口是3306。如何修改呢?现在我将带领大家一起做实验。修改mysql的默认端口一般有三个步骤:1、编辑mysql的配置文件/etc/my.cnf修改你的端口号比如将3306修改成33232、防火墙开放3323端口3、修改项目配置文件中的配置项hostport首先是编辑配置文件,将[mysqld]下面的port=3306改成port=3323v…

    2025年6月25日
    5

发表回复

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

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