微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python – 获取每列中某个值的频率

我有一个数据框,其中所有缺失值都用?表示.我需要的数量?每列.

我尝试过的方法是:

mydata.replace('?','')
mydata.isnull().sum()

返回:

A1     0
A2     0
A3     0
A4     0
A5     0
A6     0
...
A16    0
dtype: int64

应该不是这样的,因为有?在CSV文件中,我从中获取了数据.

解决方法:

比较所有值?并通过真值的总和获得出现的数据:

out = (mydata == '?').sum()

类似:

out = mydata.eq('?').sum()

在您的解决方案中,首先应该更换?到NaN然后连在一起:

out = mydata.replace('?',np.nan).isnull().sum()

也可以替换?参数na_values =’?’在read_csv中缺少值:

mydata = pd.read_csv(file, na_values='?')

out = mydata.isnull().sum()

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐