Python-pandas的dropna()方法-丢弃含空值的行、列

本文介绍了DataFrame类型数据的dropna()方法,该方法可找到空值并删除对应行/列,返回新的DataFrame。详细讲解了函数的参数,如axis、how、thresh等,还给出了按行删除、按列删除、设置子集删除等多种示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

0.摘要

dropna()方法,能够找到DataFrame类型数据的空值(缺失值),将空值所在的行/列删除后,将新的DataFrame作为返回值返回。

 

1.函数详解

函数形式:dropna(axis=0, how='any', thresh=None, subset=None, inplace=False)

参数:

axis:轴。0或'index',表示按行删除;1或'columns',表示按列删除。

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

thresh:非空元素最低数量。int型,默认为None。如果该行/列中,非空元素数量小于这个值,就删除该行/列。

subset:子集。列表,元素为行或者列的索引。如果axis=0或者‘index’,subset中元素为列的索引;如果axis=1或者‘column’,subset中元素为行的索引。由subset限制的子区域,是判断是否删除该行/列的条件判断区域。

inplace:是否原地替换。布尔值,默认为False。如果为True,则在原DataFrame上进行操作,返回值为None。

 

2.示例

创建DataFrame数据:

import numpy as np
import pandas as pd

a = np.ones((11,10))
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'))

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

# 按列删除:该列非空元素小于5个的,即删除该列
print(d.dropna(axis='columns', thresh=5))

设置子集:删除第0、5、6、7列都为空的行

# 设置子集:删除第0、5、6、7列都为空的行
print(d.dropna(axis='index', how='all', subset=[0,5,6,7]))

设置子集:删除第5、6、7行存在空值的列

# 设置子集:删除第5、6、7行存在空值的列
print(d.dropna(axis=1, how='any', subset=[5,6,7]))

原地修改

# 原地修改
print(d.dropna(axis=0, how='any', inplace=True))
print("==============================")
print(d)

 

 

 

pandas中的dropna()是一个用于滤除缺失数据的函数。它可以用来删除包缺失值的。在pandas中,缺失数据通常用NaN表示。通过使用dropna函数,我们可以轻松地从DataFrame中删除缺失值。该函数的默认为是删除包缺失值的,可以通过指定axis参数为1或'columns'来删除包缺失值的。 例如,我们可以使用dropna函数来删除DataFrame中的缺失值。假设我们有一个包三个("name","toy"和"born")的DataFrame,其中包一些缺失值。通过调用df.dropna(),我们可以删除包缺失值的。另外,我们也可以通过指定axis=1来删除包缺失值的。 此外,dropna函数还接受一个how参数,用于确定是否从DataFrame中删除包缺失值的。当至少有一个缺失值存在时,可以设置how参数为'all'以删除所有包缺失值的。如果设置how参数为'any',则只要存在缺失值,就会删除相应的。 总之,pandasdropna函数是一个方便的方法,可以用来滤除缺失数据。它可以根据需要删除包缺失值的,并且可以通过how参数进一步控制删除的为。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [PandasDropna滤除缺失数据的实现方法](https://download.csdn.net/download/weixin_38697063/13997589)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [pandasdropna()参数详解](https://blog.csdn.net/happy_wealthy/article/details/108576944)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [Python-pandasdropna()方法-丢弃空值](https://blog.csdn.net/qq_17753903/article/details/89817371)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值