TypeError:ufunc' add'不包含带有签名匹配类型的循环dtype(' S23')dtype(' S23')dtype(' S23')

时间:2017-05-04 13:53:32

标签: python pandas

我有pandas dataframe df,我想打印出变量列表以及类型和缺失字段数(NaN,NA)。

def var_desc(df,dt):
    print('============================================')
    for c in df.columns:
        if df[c].dtype==dt:
            e = sum(pd.isnull(df[c]))
            print(c+' : '+dt+' | '+e)
    print('============================================') 

var_desc(df,"object")
var_desc(df,"int64")

e = sum(pd.isnull(df[c]))存在一些问题。它给出了以下错误:

TypeError: ufunc 'add' did not contain a loop with signature matching types dtype('S23') dtype('S23') dtype('S23')

如何解决?

1 个答案:

答案 0 :(得分:1)

您可以使用

count_nan = len(df) - df.count()

count返回非NA / null时,这样就可以达到非None记录的数量。

  

DataFrame.count(axis = 0,level = None,numeric_only = False)[source]¶

     

返回系列,其中包含超过请求的非NA / null观察数   轴。也适用于非浮点数据(检测NaN和   无)