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

时间:2019-10-19 18:59:48

标签: python pandas

如果我编写这段代码:

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 个答案:

答案 0 :(得分:1)

我认为关键是您根据文档指定了Observable<Unobservable<any>>

在删除Na之前,Na的计数用于计算相对频率,在删除它们之后,相对频率的分母已更改,因此值也已更改

答案 1 :(得分:0)

您正在标准化结果。 NaN的值相对于其他值似乎很大。因此,其他索引导致的数字很小

如果查看索引1和2之间的相对比率,您会发现它们在两个结果中都是相同的。