如何计算python中每列中缺失的数据?

viv*_*ian 4 python

我有一个包含 85 列的大型数据框。缺失的数据已编码为NaN。我的目标是获取每列中缺失数据的数量。所以我写了一个 for 循环来创建一个列表来获取金额。但它不起作用。

以下是我的代码:

headers = x.columns.values.tolist() 
nans=[]
for head in headers:
    nans_col = x[x.head == 'NaN'].shape[0]
    nan.append(nans_col)
Run Code Online (Sandbox Code Playgroud)

我尝试使用循环中的代码通过更改head为该列的名称来生成特定列的缺失值数量,然后代码起作用并为我提供该列中缺失数据的数量。

所以我不知道如何更正 for 循环代码。有人能帮我解决这个问题吗?我非常感谢您的帮助。

Amm*_*ema 7

对于 Pandas(python 数据分析库)中的列,您可以使用:

In [3]: import numpy as np
In [4]: import pandas as pd
In [5]: df = pd.DataFrame({'a':[1,2,np.nan], 'b':[np.nan,1,np.nan]})
In [6]: df.isnull().sum()
Out[6]:
a    1
b    2
dtype: int64
Run Code Online (Sandbox Code Playgroud)

对于单列或序列号,您可以计算缺失值,如下所示:

In [1]: import numpy as np
In [2]: import pandas as pd
In [3]: s = pd.Series([1,2,3, np.nan, np.nan])

In [4]: s.isnull().sum()
Out[4]: 2
Run Code Online (Sandbox Code Playgroud)

参考