统计Pandas DataFrame中值为字符串'nan'的列行数
统计字符串'nan'的行数解决方案
因为你的DataFrame中存储的是字符串类型的'nan',而非pandas识别的缺失值(如pd.NA或np.nan),所以df.isna().sum()无法统计这类值。可以用以下两种方法实现需求:
方法一:直接匹配字符串统计
直接比较每个元素是否等于'nan',对布尔结果按列求和:
(df == 'nan').sum()
执行后会得到期望的结果:
col_1 0 col_2 2 col_3 1 dtype: int64
方法二:替换为真实缺失值后统计
先把字符串'nan'替换成pandas认可的缺失值pd.NA,再用isna().sum()统计:
df.replace('nan', pd.NA).isna().sum()
这种方法的好处是,替换后的数据可以直接用于后续的缺失值处理(如填充、删除等操作)。
内容的提问来源于stack exchange,提问作者PeeteKeesel
相关产品推荐
相关产品推荐

