我想知道如何在 Pandas 中正确计算偏度和峰度。Pandas 为 `skew()` 和 `kurtosis()` 函数提供了一些值,但是与 `scipy.stats` 的值相比似乎有很大的差异。应该相信哪一个,是 Pandas 还是 `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