【发布时间】:2016-01-11 14:00:54
【问题描述】:
我决定比较 pandas 和 scipy.stats 中的 skew 和 kurtosis 函数,但不明白为什么我在库之间得到不同的结果。
据我从文档中得知,两个峰度函数都使用 Fisher 的定义进行计算,而对于偏斜,似乎没有足够的描述来说明它们的计算方式是否存在任何重大差异。
import pandas as pd
import scipy.stats.stats as st
heights = np.array([1.46, 1.79, 2.01, 1.75, 1.56, 1.69, 1.88, 1.76, 1.88, 1.78])
print "skewness:", st.skew(heights)
print "kurtosis:", st.kurtosis(heights)
返回:
skewness: -0.393524456473
kurtosis: -0.330672097724
而如果我转换为 pandas 数据框:
heights_df = pd.DataFrame(heights)
print "skewness:", heights_df.skew()
print "kurtosis:", heights_df.kurtosis()
返回:
skewness: 0 -0.466663
kurtosis: 0 0.379705
抱歉,如果我在错误的地方发布了此内容;不知道是统计问题还是编程问题。
【问题讨论】: