如何统计数据集中所有值均为NA的列的数量?
统计所有值均为NA的列的数量
R 实现
可以通过结合colSums()和is.na()快速完成统计:
# 假设你的数据对象是df(数据框/矩阵) full_na_col_count <- sum(colSums(is.na(df)) == nrow(df))
逻辑说明:
is.na(df)将数据转换为布尔矩阵,NA值对应TRUE,非NA对应FALSEcolSums()计算每一列中TRUE的数量(即该列的NA总数)- 对比每列的NA总数与数据的总行数,相等则说明该列全为NA
- 最后用
sum()统计满足条件的列的数量
Python(Pandas)实现
用Pandas的内置方法可以更简洁地完成:
import pandas as pd # 假设你的数据框是df full_na_col_count = df.isna().all().sum()
逻辑说明:
df.isna()生成布尔DataFrame,标记每个位置是否为NA.all()默认按列判断每一列是否所有元素都是TRUE(即全NA).sum()将布尔结果转为数值(True=1,False=0),求和得到全NA列的总数
内容的提问来源于stack exchange,提问作者user123
相关产品推荐
相关产品推荐

