Python中缺失值删除 pd.dropna()函数

【小白从小学Python、C、Java】

【Python全国计算机等级考试】

【Python数据分析考试必会题】

● 标题与摘要

Python中缺失值删除

pd.dropna()函数

● 选择题

以下关于dropna()函数说法错误的是:

A 用于删除缺失数据

B axis=0:若某列有空值,则删除该列

C axis=1:若某列有空值,则删除该列

D how=all:该行/列全为空值,就删除该行/列

​● 问题解析

1.dropna()方法,用于找到DataFrame类型数据的空值(缺失值),将空值所在的行/列删除后,将新的DataFrame作为返回值返回。A正确。

2.dropna()函数的参数:dropna([axis=0][,how='any'][,thresh='None'][,subset='None'][,inplace='False'])。

(1)axis:当axis取0或'index',即axis=0或axis='index',index表示行索引,若某行有空值,则删除该行;当axis取1或'column',即axis=1或axis='column',column表示列索引,若某列有空值,则删除该列。默认值为0。B错误,C正确。

(2)how:筛选方式。‘any',表示该行/列只要有一个以上的空值,就删除该行/列;‘all',表示该行/列全部都为空值,就删除该行/列。默认值为‘any’。D正确。

(3)thresh:删除条件(int整数型):行/列中非空元素个数小于thresh,该行/列会才会被删除。可以理解为:行/列中空值太多了(非空值太少了)才启动删除行/列。

​(4)subset:子集,参数表示行或列的一部分,用列表表示。默认值为None。

如果axis=0或者‘index',subset中元素为列的索引,如d.dropna(axis='index', how='all', subset=[0,5,6])),表示当某行的0,5,6列均为空时,则删除该行。

如果axis=1或者‘column',subset中元素为行的索引,如d.dropna(axis='column', how='all', subset=[0,5,6])),表示当某列的0,5,6行均为空时,则删除该列。

(5)inplace:是否直接在原dataframe进行缺失值删除。布尔值,默认为False,即不在原DataFrame上进行缺失值删除操作,dropna()函数返回值为缺失值删除操作后的结果。如果为True,则在原DataFrame上进行缺失值删除操作,dropna()函数返回值为None。

​● 附图 

图1 验证axis=0,how='any'的实验

图2 验证axis=0,how='all'以及thresh参数用法的实验

图3 验证subset,inplace参数用法的实验

● 附图代码

import numpy as np

import pandas as pd

a = np.ones((6,5))

for i in range(len(a)):

a[i,:i] = np.nan

d = pd.DataFrame(data=a)

print(d)

# 按行删除:存在空值,即删除该行

print(d.dropna(axis=0, how='any'))

# 按行删除:所有数据都为空值,即删除该行

print(d.dropna(axis=0, how='all'))

# 按列删除:该列非空元素小于2个的,即删除该列

print(d.dropna(axis='columns', thresh=2))

# 设置子集:删除第1、2、3列都为空的行

print(d.dropna(axis='index', how='all', subset=[1,2,3]))

print(d.dropna(axis=0, how='any', inplace=True))

print("==============================")

print(d)

● 正确答案

B

欢迎大家转发,一起传播知识和正能量,帮助到更多人。期待大家提出宝贵改进建议,互相交流,收获更大。辛苦大家转发时注明出处(也是咱们公益编程交流群的入口网址),刘经纬老师共享知识相关文件下载地址为:http://liujingwei.cn

  • 7
    点赞
  • 50
    收藏
  • 打赏
    打赏
  • 0
    评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
评论

打赏作者

刘经纬老师

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值