在每一列中获取某个值的频率

时间:2018-11-24 16:25:19

标签: python pandas

我有一个数据框,其中所有缺失值都用file = open('text_log.txt', 'r') x = eval(''.join(file.read().splitlines())) file.close() 表示。我需要每列?的计数。

我尝试过的一种方法是:

?

返回:

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

情况并非如此,因为CSV文件中有我从中获取数据的A1 0 A2 0 A3 0 A4 0 A5 0 A6 0 ... A16 0 dtype: int64

1 个答案:

答案 0 :(得分:3)

将所有值与root进行比较,并按?中的sum个值进行计数:

True

类似:

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

在解决方案中,首先应将out = mydata.eq('?').sum() 替换为?,然后将其链接在一起:

NaN

也可以用参数out = mydata.replace('?',np.nan).isnull().sum() ?替换为read_csv中的缺失值:

na_values='?'