如何在 pandas 中正确找到偏度和峰度? [英] How to find skewness and kurtosis correctly in pandas?

查看:98
本文介绍了如何在 pandas 中正确找到偏度和峰度?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想知道如何在熊猫中正确计算偏度和峰度.Pandas 为 skew()kurtosis() 值提供了一些值,但它们似乎与 scipy.stats 值大不相同.哪个更信任 pandas 或 scipy.stats?

I was wondering how to calculate skewness and kurtosis correctly in pandas. Pandas gives some values for skew() and kurtosis() values but they seem much different from scipy.stats values. Which one to trust pandas or scipy.stats?

这是我的代码:

import numpy as np
import scipy.stats as stats
import pandas as pd

np.random.seed(100)
x = np.random.normal(size=(20))

kurtosis_scipy = stats.kurtosis(x)
kurtosis_pandas = pd.DataFrame(x).kurtosis()[0]

print(kurtosis_scipy, kurtosis_pandas)
# -0.5270409758168872
# -0.31467107631025604

skew_scipy = stats.skew(x)
skew_pandas = pd.DataFrame(x).skew()[0]

print(skew_scipy, skew_pandas)
# -0.41070929017558555
# -0.44478877631598901

版本:

print(np.__version__, pd.__version__, scipy.__version__)
1.11.0 0.20.0 0.19.0

推荐答案

bias=False

print(
    stats.kurtosis(x, bias=False), pd.DataFrame(x).kurtosis()[0],
    stats.skew(x, bias=False), pd.DataFrame(x).skew()[0],
    sep='\n'
)

-0.31467107631025515
-0.31467107631025604
-0.4447887763159889
-0.444788776315989

这篇关于如何在 pandas 中正确找到偏度和峰度?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆