R函数density()的Python等价物(即相同的输出)是什么?

R函数density()的Python等价物(即相同的输出)是什么?,python,r,scikit-learn,kernel-density,Python,R,Scikit Learn,Kernel Density,在R中,有一个函数称为。函数的语法是- density(x, bw = "nrd0", adjust = 1, kernel = c("gaussian", "epanechnikov", "rectangular", "triangular", "biweight","cosine", "optcosine"),

在R中,有一个函数称为。函数的语法是-

density(x, bw = "nrd0", adjust = 1, kernel = c("gaussian", "epanechnikov", 
        "rectangular", "triangular", "biweight","cosine", "optcosine"),
        weights = NULL, window = kernel, width, give.Rkern = FALSE, n = 512, 
        from, to, cut = 3, na.rm = FALSE, …)
在不同的参数中,我通常使用的是
x
(计算估算值的数字向量)和
adjust
。我将其他参数保留为其默认值(
bw=“nrd0”
n=512
&
kernel=“gaussian”


Python中是否有函数接受相同(或等效)的输入并返回相同的输出。我正在寻找的主要输出是512(因为n=512)x&y值。

根据Oliver的建议,我使用rpy2从Python调用R的密度函数

R代码

column <- c(63, 45, 47, 28, 59, 28, 59)

output <- density(column, adjust=1) #all other parameters set to default

x <- output$x
y <- output$y

我似乎还没有找到一个真正的等价物,所以我能给出的只是一个创建函数的提示。获取指定的带宽(
bw=“nrd0
),您可以使用中的某些算法。我认为您不应该期望必然存在一个等效函数。有不同语言的实现。
scipy.stats
有各种kde实现,而
scikit learn
有可视化的备选方案。它们不一样。但是
R
Python
提供了优秀的双语编程包。因此,如果
density
的输出是您想要的,请在您的机器上安装,并使用python中的函数。谢谢@Oliver。我使用了rpy2,并且能够以与我的R脚本相同的方式使用density函数。我将发布我的代码作为答案。
from rpy2 import robjects
from rpy2.robjects.packages import importr
from rpy2.robjects import vectors
import numpy as np

stats = importr("stats")

column = vectors.IntVector([63, 45, 47, 28, 59, 28, 59])

output = stats.density(column, adjust=1)

x = np.array(output[0])
y = np.array(output[1])