如何在 pandas 中正确找到偏度和峰度? [英] How to find skewness and kurtosis correctly in pandas?
本文介绍了如何在 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屋!
查看全文