如何在Pandas DataFrame中添加统计各列空值数的行?现有方法未生效
在Pandas DataFrame末尾添加空值统计行的解决办法
- 核心思路:把空值统计结果转换成和原DataFrame结构匹配的单行DataFrame,再用
pd.concat完成拼接
正确操作步骤:
- 计算每列空值数量并转成单行DataFrame
# 假设你的DataFrame名为df null_row = df.isna().sum().to_frame().T
- 给统计行设置一个清晰的索引标识
null_row.index = ['空值统计']
- 拼接原DataFrame和统计行
df_final = pd.concat([df, null_row])
你之前方法的问题:
result.isna().sum().T.reset_index()得到的DataFrame多了一列index,和原DataFrame的列结构不匹配,无法直接拼接pd.concat(df,df.isnull().sum().T)参数错误:pd.concat的第一个参数必须是列表形式,且df.isnull().sum().T是Series类型,不是DataFrame,无法和原DataFrame对齐拼接
完整示例:
import pandas as pd import numpy as np # 创建示例DataFrame df = pd.DataFrame({ 'A': [1, np.nan, 3], 'B': [np.nan, 5, np.nan], 'C': [7, 8, 9] }) # 生成空值统计行 null_row = df.isna().sum().to_frame().T null_row.index = ['空值统计'] # 拼接得到最终结果 df_final = pd.concat([df, null_row]) print(df_final)
输出结果:
A B C 0 1.0 NaN 7 1 NaN 5.0 8 2 3.0 NaN 9 空值统计 1.0 2.0 0
内容的提问来源于stack exchange,提问作者dave
相关产品推荐
相关产品推荐

