python - 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
问题是什么?
解决方案
我认为您需要指定 pro 是您的概率分布。
randomPolypNo = np.random.choice(noList, p=pro)
照原样,它将 pro 解释为所需样本的大小,它需要是一个 int。
推荐阅读
- mysql - 如何获取加入游戏室的玩家姓名?
- material-ui - 如何允许 Textfield trailingIcon 可点击
- typescript - 了解 Redux 中的 StateFromReducersMapObject 类型
- c# - 不重新定义类型的隐式运算符重载
- java - 使用计时器和paintComponent 进行渲染会导致没有渲染发生
- python-2.7 - 使用 SearchCursor 和 InsertCursor 从折线要素类填充字段
- android - Android 错误膨胀 ImageView - ResourcesNotFoundException
- python - 如何在熊猫中使用 .assign 方法有条件地分配计算列?
- postgresql - 使用 SECURITY DEFINER 调用函数时权限被拒绝,即使在 GRANT ALL to role 已经运行之后
- python-3.x - 如何在没有任何模型的情况下使用带有 Django Rest Framework 的视图集通过 post 方法在 Swagger UI 中传递参数?