Что происходит, если я изменил dropna на True / False - PullRequest
0 голосов
/ 19 октября 2019

если я напишу этот код:

train['id_03'].value_counts(dropna=False, normalize =True).head()

Я получаю

NaN    0.887689233582822
0.0    0.108211128797372
1.0    0.001461374335354
3.0    0.001131168083449
2.0    0.000712906831036
Name: id_03, dtype: float64

Если я изменил dropna = True

Я получу

0.0    0.963497
1.0    0.013012
3.0    0.010072
2.0    0.006348
5.0    0.001643
Name: id_03, dtype: float64

Ответы [ 2 ]

1 голос
/ 19 октября 2019

Я думаю, что ключ в том, что вы указали normalize =True Это: "If True then the object returned will contain the relative frequencies of the unique values." в соответствии с документацией.

До того, как вы удалили Na, значения Na используются для вычисления относительных частот, после того, как вы их удалили. , знаменатель относительных частот изменился, следовательно, значения изменились

0 голосов
/ 19 октября 2019

Вы нормализуете результат. Значение для NaN может показаться очень большим по сравнению с другими. Следовательно, другие индексы приводят к очень маленьким числам

Если вы посмотрите на относительное соотношение между индексами 1 и 2, вы увидите, что они эквивалентны в обоих результатах.

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