You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何删除Pandas DataFrame中所有列值均为NA的行?

删除Pandas DataFrame中所有列值均为NA的行

这需求太常见了,用Pandas自带的方法就能轻松搞定!直接用dropna()函数搭配how='all'参数,就能精准删除所有列都是缺失值的行,完全匹配你的要求。

具体操作示例

首先我们先构造你提供的示例数据(统一用np.nan表示缺失值,和Pandas的缺失值规范对齐):

import pandas as pd
import numpy as np

# 构建示例DataFrame
df = pd.DataFrame({
    'L1': [np.nan, np.nan, 1, np.nan, 5, np.nan],
    'L2': [1, np.nan, 2, np.nan, 6, np.nan],
    'L3': [2, np.nan, 3, np.nan, 7, 9],
    'L4': [np.nan, np.nan, 4, np.nan, 8, 10]
})

然后执行删除全NA行的操作:

# 删除所有列均为NA的行
cleaned_df = df.dropna(how='all')

最终结果

运行后cleaned_df就是你想要的输出:

L1   L2  L3    L4
0  NaN  1.0   2  NaN
2  1.0  2.0   3  4.0
4  5.0  6.0   7  8.0
5  NaN  NaN   9  10.0

简单说下原理:dropna()是Pandas专门处理缺失值的工具函数,how='all'这个参数明确告诉它——只有当某一行的所有列都是缺失值时才删除该行,刚好贴合你的需求。如果是要删除只要有一个缺失值的行,用默认的how='any'就行,但这里我们要的是全NA的行,所以how='all'就是最佳选择~

内容的提问来源于stack exchange,提问作者Cyley Simon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 07:13:23