带有列标题的 pandas isnull 总和

新手上路,请多包涵

我有一个包含多列的数据框。我想遍历列,计算每列有多少个空值,并生成一个新的数据框,它在列标题名称旁边显示 isnull 值的总和。

如果我做:

 for col in main_df:
    print(sum(pd.isnull(data[col])))

我得到了每列的空计数列表:

 0
1
100

我想要做的是创建一个新的数据框,其中有列标题和空计数,例如

col1 | 0
col2 | 1
col3 | 100

原文由 joshi123 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 375
2 个回答

尝试这个:

 In [71]: df
Out[71]:
     a    b  c
0  NaN  7.0  0
1  0.0  NaN  4
2  2.0  NaN  4
3  1.0  7.0  0
4  1.0  3.0  9
5  7.0  4.0  9
6  2.0  6.0  9
7  9.0  6.0  4
8  3.0  0.0  9
9  9.0  0.0  1

In [72]: pd.isnull(df).sum()
Out[72]:
a    1
b    2
c    0
dtype: int64

或者:

 In [76]: df.isnull().sum()
Out[76]:
a    1
b    2
c    0
dtype: int64

您可以从中创建一个 DF:

 In [78]: df.isnull().sum().to_frame('nulls')
Out[78]:
   nulls
a      1
b      2
c      0

原文由 MaxU - stop genocide of UA 发布,翻译遵循 CC BY-SA 3.0 许可协议

对于某个数据集,您可以用来显示缺失值和数量

dataset.isnull().sum(axis = 0)

原文由 Skandar Mabrouk 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题