zoukankan      html  css  js  c++  java
  • Python学习笔记:pd.dropna删除缺失值

    一、介绍

    pd.dropna() 函数主要用于删除缺失数据。

    • Series 返回一个仅包含非空数据和索引的 Series,默认丢弃含有缺失值的行
    • DataFrame 可以通过参数更详细的删除行数据

    使用语法:

    DataFrame.dropna(axis=0, how='any', thresh=None, subset=None, inplace=False)
    

    参数解释:

    axis=0 删除含有缺失值的行 axis=1 删除列
    how=all、any all表示删除全是缺失值的行、any表示任意一个缺失值
    thresh=n 表示保留至少含有n个非缺失值的行
    subset 定义查找的列
    inplace 是否在原始数据框中修改数据
    

    二、实操

    0.构建测试数据集

    import pandas as pd
    import numpy as np
    
    df = pd.DataFrame({'Name':['A','B','C'],
                       'Toy':[np.nan, 'Bat','Bull'],
                       'Born':[pd.NaT, pd.Timestamp('1992-12-12'), pd.NaT]})
    '''
      Name   Toy       Born
    0    A   NaN        NaT
    1    B   Bat 1992-12-12
    2    C  Bull        NaT
    '''
    

    1.axis 删除行列

    axis=0 或者 axis='index' 表示删除含有缺失值的行

    axis=1 或者 axis='columns' 表示删除含有缺失值的列

    # 默认删除
    df.dropna()
    
    # 按列删除
    df.dropna(axis=1)
    

    2.how 删除方式

    • how='all' 表示删除全是缺失值的行(列)
    • how='any' 表示删除只要有任意一个缺失值的行(列)
    df.dropna(how='all') # 无变化
    
    df.dropna(how='any') # 任意一个
    

    3.thresh=n 保留至少含有n个非NA值

    df.dropna(thresh=2)
    '''
      Name   Toy       Born
    1    B   Bat 1992-12-12
    2    C  Bull        NaT
    '''
    

    4.subset 定义列

    df.dropna(subset=['Name','Born'])
    

    5.inplace 修改原始数据框

    参考链接:pandas之dropna()

    参考链接:pandas中dropna()参数详解

  • 相关阅读:
    微信小程序非域名测试环境,手机预览不正常,模拟器和真机调试正常解决办法
    vue 建项目及初步开发遇到的问题
    开发&测试
    架构&项目
    运维
    读书&源码
    ArrayList
    jdk集合知识点整理
    jdk集合关系图
    jvm知识点整理
  • 原文地址:https://www.cnblogs.com/hider/p/15755150.html
Copyright © 2011-2022 走看看