我下面有一个数组:
a=np.array([0.1, 0.2, 0.3, 0.7, 0.8, 0.9])
我想要的是基于阈值将此向量转换为二进制向量。以threshold = 0.5为例,大于0.5的元素将转换为1,否则转换为0。
输出向量应如下所示:
a_output = [0, 0, 0, 1, 1, 1]
我怎样才能做到这一点?
np.where
np.where(a > 0.5, 1, 0)
# array([0, 0, 0, 1, 1, 1])
astype
(a > .5).astype(int)
# array([0, 0, 0, 1, 1, 1])
np.select
np.select([a <= .5, a>.5], [np.zeros_like(a), np.ones_like(a)])
# array([ 0., 0., 0., 1., 1., 1.])
np.round
如果您的数组值是介于0和1之间的浮动值并且您的阈值为0.5,则这是最佳解决方案。
a.round()
# array([0., 0., 0., 1., 1., 1.])
问题内容: 注意: 这要求与通常的元组到数组的转换相反。 我必须将一个参数传递给(包装的c ++)函数作为嵌套元组。例如,以下作品 而以下 不 不幸的是,我想使用的参数是一个numpy数组。对于某些N,该阵列的尺寸始终为2xN,这可能会很大。 有没有简单的方法可以将其转换为元组?我知道我可以循环遍历,创建一个新的元组,但是如果numpy数组提供了一些不错的访问权限,我会更喜欢。 如果不可能如我所愿
问题内容: 我正在尝试将代表黑白图像的2D Numpy数组转换为3通道OpenCV数组(即RGB图像)。 基于代码示例和文档,我正尝试通过Python执行此操作,例如: 但是,对CvtColor()的调用将引发以下cpp级异常: 我究竟做错了什么? 问题答案: 您的代码可以固定如下: 简短说明: 数据类型不受OpenCV的支持(它支持,,,,,,) 无法处理numpy数组,因此必须将两个参数都转换
问题内容: 我对知道如何将熊猫数据框转换为NumPy数组感兴趣。 数据框: 给 我想将其转换为NumPy数组,如下所示: 我怎样才能做到这一点? 作为奖励,是否可以像这样保留dtype? 或类似的? 问题答案: 要将pandas数据框(df)转换为numpy ndarray,请使用以下代码:
我有这个数据框 我想转换这种形式的Numpy数组: 我正在使用转换为_矩阵函数,并在它重塑(1,4)后使用,但它不起作用!!它给我的格式是:有什么建议吗?我需要把它转换成那种格式,这样我就可以应用“精确回忆曲线”功能。
问题内容: 我想将图像转换为NumPy数组再转换为PySide QPixmap,因此可以显示它(在PySide UI中编辑:)。我已经找到了此工具:qimage2ndarray,但它仅适用于PyQt4。我试图对其进行更改以使其能够与PySide一起使用,但是我将不得不更改该工具的C部分,并且我没有使用C的经验。我该怎么做?或者有其他选择吗? 问题答案: 一种选择是仅使用PIL库。 您可以在http