numpy:TypeError:'float'对象不能解释为整数

鉴于我的数据集如下:

dict = {
    "No": list(range(1,9)),"Pro":  [0.6703557312252965,0.20395256916996046,0.0782608695652174,0.03241106719367589,0.009486166007905139,0.0031620553359683794,0.0015810276679841897,0.0007905138339920949]
}

dt = pd.DataFrame(dict)

我需要根据“ NO”列从“ Pro”列生成一个数字:

noList = dt["No"].tolist()
pro = dt["Pro"].tolist()
print("NoList",noList," Pro: ",pro)
randomPolypNo = np.random.choice(noList,pro)

但是,它抱怨:

TypeError: 'float' object cannot be interpreted as an integer

出什么问题了?

iCMS 回答:numpy:TypeError:'float'对象不能解释为整数

我认为您需要指定pro是您的概率分布。

randomPolypNo = np.random.choice(noList,p=pro)

按原样,它将pro解释为所需样本的大小,必须为整数。

,

您需要指定参数。您是说“专业”是概率吗?您可以通过此方法解决。

randomPolypNo = np.random.choice(a=noList,p=pro)
本文链接:https://www.f2er.com/2151004.html

大家都在问