【发布时间】:2016-07-02 02:21:42
【问题描述】:
我有一个具有偏态正态分布的输入数据集(DataFrame / numpy 矩阵)。我正在尝试找到 python 转换函数(或 numpy 矩阵),它将输入数据集转换为没有偏斜的正态分布。
我查看了 curve_fit(在 scipy.optimize 中),但不确定如何应用它。
有没有简单的方法可以做到这一点?
【问题讨论】:
我有一个具有偏态正态分布的输入数据集(DataFrame / numpy 矩阵)。我正在尝试找到 python 转换函数(或 numpy 矩阵),它将输入数据集转换为没有偏斜的正态分布。
我查看了 curve_fit(在 scipy.optimize 中),但不确定如何应用它。
有没有简单的方法可以做到这一点?
【问题讨论】:
我做了两件事之一:
例子
from scipy.stats import norm
df = pd.DataFrame(np.random.rand(1000), columns=['Uniform'])
df['Normal'] = norm.ppf((df.Uniform.rank() - .5) / len(df))
df.plot(kind='kde')
df.skew()
Uniform 2.392991e-02
Normal 2.114051e-15
dtype: float64
【讨论】: