如果我将 dropna 更改为 True/False 会发生什么

如果我写这段代码:


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


慕尼黑的夜晚无繁华
浏览 164回答 2
2回答

米琪卡哇伊

我认为关键是您指定normalize =True它是:"If True then the object returned will contain the relative frequencies of the unique values."根据文档。在您删除 Na 之前,Na 的计数用于计算相对频率,在您删除它们之后,相对频率的分母发生了变化,因此值发生了变化

神不在的星期二

您正在对结果进行规范化。的值NaN相对于其他值似乎非常大。因此,其他索引导致的数字非常小如果您查看索引 1 和 2 之间的相对比率,您会发现它们在两个结果中是等效的。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python