gpt4 book ai didi

numpy - numpy中 bool 数组的爱因斯坦求和

转载 作者:行者123 更新时间:2023-12-05 03:59:56 30 4
gpt4 key购买 nike

numpy 中 bool 数组的爱因斯坦求和 (numpy.einsum) 未产生预期结果。 Numpy.einsum 函数对 bool 数组进行逻辑运算,这在数字上下文中是有问题的。

# summation of a boolean numpy array

x = numpy.array([True, False, True])

print(numpy.sum(x))
# output: 2

print(numpy.einsum('i->', x))
# output: True

对于 bool 数组 x = [True, False, True],我希望 x 的总和为 2,并且结果不应取决于函数的特定选择。然而,numpy.sum 给出了 2,而 numpy.einsum 给出了 True。

我不确定是我误解了什么还是我的代码有问题。感谢您的帮助。

最佳答案

这里的区别在于 sum 在求和之前将 boolean 转换为整数,而 einsum 跳过这一步,除非您明确指定它。

尝试:

print(numpy.einsum('i->', x, dtype=int))

关于numpy - numpy中 bool 数组的爱因斯坦求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56771226/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com