【发布时间】:2018-04-11 21:08:57
【问题描述】:
我是 Python 编程的新手,偶然发现了 Python 中我无法弄清楚的减法这一特性。我有两个 0/1 数组,大小均为 400。我想从数组 2 中的对应元素中减去数组 1 的每个元素。
例如,假设您有两个数组 A = [0, 1, 1, 0, 0] 和 B = [1, 1, 1, 0, 1]。
然后我会期待A - B = [0 - 1, 1 - 1, 1 - 1, 0 - 0, 0 - 1] = [-1, 0, 0, 0, -1]
但是在 python 中我得到[255, 0, 0, 0, 255]。
这个 255 来自哪里,我如何得到 -1?
以下是一些附加信息: 我正在使用的实际变量是 Y 和 LR_predictions。
Y = 数组([[0, 0, 0, ..., 1, 1, 1]], dtype=uint8)
LR_predictions = array([0, 1, 1, ..., 0, 1, 0], dtype=uint8)
当我使用 Y - LR_predictions 或 numpy.subtract(Y, LR_predictions)
我得到:array([[ 0, 255, 255, ..., 1, 0, 1]], dtype=uint8)
谢谢
【问题讨论】:
-
你用什么代码来得到这个结果?
-
Magic 8-ball 说你有 dtype uint8 的 NumPy 数组,它不能保存负数。请学习构造一个minimal reproducible example。您正在向我们展示列表,这些列表根本不支持
A - B。 -
@ducminh 我在上面的问题描述中添加了一些额外的信息。谢谢!
-
@user2357112 这样更好吗?我不能在这里给你所有的代码来重现它,因为数据集来自另一个个人创建的模块,但我相信我已经提供了足够的信息。
标签: python arrays math subtraction