Python:使用statsmodels对Pandas数据帧中的NumPy数组进行百分位估计
在我的DataFrame(df.data)中有一列,其中每个条目都是一个1-D NumPy数组,我试图从中计算两个新列:一个是KDE估计的该数组的第25个百分位,另一个是以相同方式计算的第75个百分位。我尝试了以下方法:Python:使用statsmodels对Pandas数据帧中的NumPy数组进行百分位估计,python,arrays,numpy,pandas,statsmodels,Python,Arrays,Numpy,Pandas,Statsmodels,在我的DataFrame(df.data)中有一列,其中每个条目都是一个1-D NumPy数组,我试图从中计算两个新列:一个是KDE估计的该数组的第25个百分位,另一个是以相同方式计算的第75个百分位。我尝试了以下方法: df.data.apply(lambda x: pd.Series({'25th': get_25(x), '75th': get_75(x)})) 使用以下功能: def get_25(data): KDE = kde.KDEUnivariate(data)
df.data.apply(lambda x: pd.Series({'25th': get_25(x), '75th': get_75(x)}))
使用以下功能:
def get_25(data):
KDE = kde.KDEUnivariate(data)
KDE.fit()
p25 = KDE.icdf(25.0)
return p25
def get_75(GmSc):
KDE = kde.KDEUnivariate(data)
KDE.fit()
p75 = KDE.icdf(75.0)
return p75
我已经寻找类似的方法有一段时间了,但没有发现任何太有用的方法。我被困在这里了
编辑:很抱歉不清楚。我并没有试图返回数组中每个值的百分位数,而是根据数据帧中估计的内核数据密度返回某些百分位数的值。我是否正确使用我发布的代码 你的问题是什么?可能是@Kronos的复制品我不相信这是复制品。他想要的是KDE(核密度估计)的百分位数,而不是一个简单的百分位数。@JohnE我发现有趣的是,这三个问题:(;;)几乎同时出现,处理的似乎是同一个主题。@Kronos是的,我不确定与其他问题的关系是什么。。。这里的海报并没有明确说明问题出在代码的哪一部分(kde部分还是应用函数?)