python – Pandas groupby agg std NaN
发布时间:2020-12-16 22:31:42 所属栏目:Python 来源:网络整理
导读:输入: df['PopEst'] .astype('float') .groupby(ContinentDict) .agg(['size','sum','mean','std'])) 输出: size sum mean stdAsia 5 2.898666e+09 5.797333e+08 6.790979e+08Australia 1 2.331602e+07 2.331602e+07 NaNEurope 6 4.579297e+08 7.632161e+0
输入:
输出:
如果该组只有一行,则std列中的某些值变为NaN,但我认为这些值应为0,为什么会这样? 最佳答案
pd.DataFrame.std 默认采用1自由度,也称为样本标准差.这导致具有一个数字的组的NaN结果.
相比之下, 要了解样本和人口之间的差异,请参阅Bessel’s correction. 因此,您可以为计算指定numpy.std.但请注意,由于计算结果不同,输出会有所不同.这是一个最小的例子.
或者,如果您需要1个自由度,则可以使用fillna将NaN值替换为0:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |