python pandas dropna 删除空值/缺失值(DataFrame)

一、函数参数

  • 函数形式:dropna(axis=0, how=‘any’, thresh=None, subset=None, inplace=False)
  • 参数:
       axis:0或’index’,表示按行删除;1或’columns’,表示按列删除。
       how:‘any’,表示该行/列只要有一个以上的空值,就删除该行/列;‘all’,表示该行/列全部都为空值,就删除该行/列。
       thresh:int型,默认为None。如果该行/列中,非空元素数量小于这个值,就删除该行/列。
       subset:子集。列表,按columns所在的列(或index所在的行)删除。
       inplace:是否原地替换调原来的dataframe。布尔值,默认为False。

二、例子详解

2.1 载入库

import pandas as pd
import numpy as np

2.2 构建一个DataFrame

n = 5
DataList = [[str(n-i) for j in range(n-i)]+[np.nan for j in range(i)] for i in range(n)]
df = pd.DataFrame(DataList)

在这里插入图片描述

2.3 默认参数

df.dropna()

在这里插入图片描述

2.4 axis

df.dropna(axis=1)

在这里插入图片描述

2.5 how

df.dropna(how="all")  # 本例子中没有全部为空值的行

在这里插入图片描述

2.6 thresh

  • 保留非空值数量>=3的行,即删除空值数量>(5-3=2)的行
df.dropna(thresh=3)

在这里插入图片描述

2.7 subset

  • 删除索引为2的行中,存在空值的列
df.dropna(subset=[2],axis=1)

在这里插入图片描述
结果为:
在这里插入图片描述

  • 19
    点赞
  • 97
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值