Получение частоты определенного значения в каждом столбце - PullRequest
0 голосов
/ 24 ноября 2018

У меня есть фрейм данных, в котором все пропущенные значения обозначены ?.Мне нужно количество ? для каждого столбца.

Метод, который я попробовал, был:

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

, который возвращает:

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

, что не должно иметь место, поскольку в файле CSV есть ?что я получил свои данные.

1 Ответ

0 голосов
/ 24 ноября 2018

Сравните все значения с ? и получите вхождения по sum из True значений:

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

Аналогично:

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

Сначала в вашем решенииследует заменить ? на NaN и затем соединить вместе:

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

Также возможно заменить ? на отсутствующие значения в read_csv параметром na_values='?':

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

out = mydata.isnull().sum()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...