如何修复ValueError:python中的<= 0

时间:2019-11-25 21:55:09

标签: python numpy

这是我的代码

import numpy as np
import pandas as pd



attr={'data1':((0.2,1),(0.2,1)), 'data2':((0.2,1),(-1,-0.2)),
      'data3':((-1,-0.2),(0.2,1)), 'data4':((-1,-0.2),(0.2,1))}
name = ['data1', 'data2', 'data3', 'data4']

for k in range(4):
    X=np.random.beta(attr[name[k]][0][0], attr[name[k]][0][1],10)
    Y=np.random.beta(attr[name[k]][1][0], attr[name[k]][1][1],10)
    name[k] = pd.DataFrame({'x':X,'y':Y})

我收到此错误

  

mtrand.RandomState.beta ValueError中的文件“ mtrand.pyx”(行1709):a <= 0

我需要帮助

1 个答案:

答案 0 :(得分:1)

您需要在atrr字典中更改负数,因为beta函数需要非负的整数。

  

numpy.random.beta(a,b,size = None)

     

a:浮点数或浮点数Alpha浮点数或数组_like,非负

     

b:float或float_beta的array_like,非负