Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 缺少属性的总数_Python_Pandas - Fatal编程技术网

Python 缺少属性的总数

Python 缺少属性的总数,python,pandas,Python,Pandas,使用python和panda:对于给定的数据集,如何找到缺失属性的总数?我已经找到了每一列的数字,但是我需要使用python对这些列求和以找到总数。下面是我目前使用的代码 def num_missing(x): return sum(x.isnull()) print("Missing Values per Column:") print(data_file1.apply(num_missing)) 选项1:调用.sum()两次,其中第二次调用查找中间系列的总和 df = pd.Dat

使用python和panda:对于给定的数据集,如何找到缺失属性的总数?我已经找到了每一列的数字,但是我需要使用python对这些列求和以找到总数。下面是我目前使用的代码

def num_missing(x):
    return sum(x.isnull())
print("Missing Values per Column:")
print(data_file1.apply(num_missing))
选项1:调用
.sum()
两次,其中第二次调用查找中间系列的总和

df = pd.DataFrame(np.ones((5,5)))
df.iloc[2:4, 1:3] = np.nan
df.isnull().sum().sum()
# 4
选项2:使用基础NumPy数组

np.isnan(df.values).sum()
# 4
选项2的速度应明显更快(此样本数据为8.5美元,而非249美元)


正如@root和所指出的,
np.isnan()
只对数字数据有效,而对对象不起作用
pandas.DataFrame.isnull()
没有这个问题。

考虑
df
-

df

     A  B    C
0  1.0  4  NaN
1  2.0  5  1.0
2  NaN  6  6.0
3  NaN  7  3.0

  • 按列NaN计数-

    df.isnull().sum(0)
    
    A    2
    B    0
    C    1
    dtype: int64
    
  • 按行NaN计数-

    df.isnull().sum(1)
    
    0    1
    1    0
    2    1
    3    1
    dtype: int64
    
    df.isnull().values.sum()
    3
    
  • df
    -宽NaN计数-

    df.isnull().sum(1)
    
    0    1
    1    0
    2    1
    3    1
    dtype: int64
    
    df.isnull().values.sum()
    3
    

  • data\u file1.isnull().sum(0)
    请注意,
    np.isnan
    只对数字数据有效,例如
    np.isnan(pd.Series(['foo',np.nan])值)
    将升高。