Python 概率加权函数的编码错误

Python 概率加权函数的编码错误,python,function,numpy,probability,weighting,Python,Function,Numpy,Probability,Weighting,我有一个关于我的代码的问题(对不起,如果它真的很简单或愚蠢,我以前从来没有编码过,并且在一个项目中尝试过)。我试着运行某个概率向量的概率加权函数。然而,我得到一个错误,我不知道如何修复它。当我首先单独运行函数的参数,然后在函数中调用它时,它可以工作,但是为什么它在函数本身中不工作呢? 代码如下 我希望你能帮助我。 非常感谢 将numpy导入为np p=np.arange(0.01,1,0.01)#概率在0和1之间以0.01的步长均匀分布 α1=0.5 alpha=np.zeros((1,99))

我有一个关于我的代码的问题(对不起,如果它真的很简单或愚蠢,我以前从来没有编码过,并且在一个项目中尝试过)。我试着运行某个概率向量的概率加权函数。然而,我得到一个错误,我不知道如何修复它。当我首先单独运行函数的参数,然后在函数中调用它时,它可以工作,但是为什么它在函数本身中不工作呢? 代码如下

我希望你能帮助我。 非常感谢

将numpy导入为np
p=np.arange(0.01,1,0.01)#概率在0和1之间以0.01的步长均匀分布
α1=0.5
alpha=np.zeros((1,99))+alpha_1#向量,长度与p相同,所有条目均为0.5
_加权函数的项_in_exopmental_=-(-np.log(p))**alpha
w=np.exp(加权函数中的项)加权概率函数
#概率加权函数
#w(p)=np.exp(-np.log(p))**alpha)
#-->错误,但为什么`

看起来您要做的是创建一个名为
w
的函数。在Python中,函数定义的语法是

def f(a, b, c):
  # do something here
  result = <something involving a, b, and c>
  return result
其中
>
是Python解释器的输入提示。请注意,函数体必须缩进,这是由解释器强制执行的。
后面没有任何内容,这意味着我只需按
回车键,而不键入任何内容。根据
w
的定义,根据您指定的
alpha
p
,我得到以下结果:

>>> w(alpha, p)
array([[0.116955  , 0.13836178, 0.15372645, 0.16627328, 0.17713938,
        0.18687366, 0.19578782, 0.20407777, 0.21187567, 0.21927533,
        0.2263461 , 0.23314086, 0.23970099, 0.24605961, 0.25224365,
        0.25827542, 0.26417363, 0.26995416, 0.27563063, 0.28121487,
        0.28671721, 0.29214677, 0.29751164, 0.30281908, 0.30807562,
        0.31328717, 0.31845916, 0.32359653, 0.32870387, 0.33378542,
        0.33884514, 0.34388676, 0.34891376, 0.35392947, 0.35893704,
        0.36393949, 0.36893972, 0.37394054, 0.37894464, 0.38395468,
        0.38897324, 0.39400286, 0.39904606, 0.40410531, 0.40918309,
        0.41428186, 0.41940411, 0.42455233, 0.42972903, 0.43493677,
        0.44017815, 0.44545582, 0.45077251, 0.45613099, 0.46153416,
        0.466985  , 0.4724866 , 0.47804216, 0.48365505, 0.48932878,
        0.49506703, 0.50087369, 0.50675283, 0.5127088 , 0.51874619,
        0.52486989, 0.53108512, 0.53739747, 0.54381293, 0.55033797,
        0.55697957, 0.56374529, 0.57064336, 0.57768275, 0.58487331,
        0.59222586, 0.59975235, 0.60746605, 0.61538177, 0.62351608,
        0.63188769, 0.64051783, 0.64943073, 0.65865431, 0.66822097,
        0.67816868, 0.68854243, 0.69939617, 0.71079551, 0.72282159,
        0.73557672, 0.74919294, 0.76384569, 0.77977671, 0.79733511,
        0.81705854, 0.8398553 , 0.86750307, 0.90461   ]])

w(p)=
正确吗?函数调用后重写赋值运算符有点有趣…请提供错误回溯,以获取有关raise异常的更多信息,如果可能的话,请向您致谢!
>>> w(alpha, p)
array([[0.116955  , 0.13836178, 0.15372645, 0.16627328, 0.17713938,
        0.18687366, 0.19578782, 0.20407777, 0.21187567, 0.21927533,
        0.2263461 , 0.23314086, 0.23970099, 0.24605961, 0.25224365,
        0.25827542, 0.26417363, 0.26995416, 0.27563063, 0.28121487,
        0.28671721, 0.29214677, 0.29751164, 0.30281908, 0.30807562,
        0.31328717, 0.31845916, 0.32359653, 0.32870387, 0.33378542,
        0.33884514, 0.34388676, 0.34891376, 0.35392947, 0.35893704,
        0.36393949, 0.36893972, 0.37394054, 0.37894464, 0.38395468,
        0.38897324, 0.39400286, 0.39904606, 0.40410531, 0.40918309,
        0.41428186, 0.41940411, 0.42455233, 0.42972903, 0.43493677,
        0.44017815, 0.44545582, 0.45077251, 0.45613099, 0.46153416,
        0.466985  , 0.4724866 , 0.47804216, 0.48365505, 0.48932878,
        0.49506703, 0.50087369, 0.50675283, 0.5127088 , 0.51874619,
        0.52486989, 0.53108512, 0.53739747, 0.54381293, 0.55033797,
        0.55697957, 0.56374529, 0.57064336, 0.57768275, 0.58487331,
        0.59222586, 0.59975235, 0.60746605, 0.61538177, 0.62351608,
        0.63188769, 0.64051783, 0.64943073, 0.65865431, 0.66822097,
        0.67816868, 0.68854243, 0.69939617, 0.71079551, 0.72282159,
        0.73557672, 0.74919294, 0.76384569, 0.77977671, 0.79733511,
        0.81705854, 0.8398553 , 0.86750307, 0.90461   ]])