【问题标题】:pandas isnull sum with column headers带有列标题的熊猫 isnull 总和
【发布时间】:2017-05-31 14:30:42
【问题描述】:

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

如果我这样做:

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

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

0
1
100

我想要做的是创建一个新的数据框,它的列标题旁边有空计数,例如

col1 | 0
col2 | 1
col3 | 100

【问题讨论】:

标签: python python-3.x pandas


【解决方案1】:

试试这个:

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

【讨论】:

    【解决方案2】:

    如果您的数据框中的列数大于 10,您最终会在输出中忽略中间列。您可以使用以下方式打印每一列:

    nulls = df.isnull().sum().to_frame()
    for index, row in nulls.iterrows():
        print(index, row[0])
    

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-03-28
        • 1970-01-01
        • 1970-01-01
        • 2017-09-09
        • 1970-01-01
        • 2018-11-08
        • 2017-07-03
        • 2014-02-19
        相关资源
        最近更新 更多