为什么Python中的some\u nparray.size==0行会出现ValueError?
我正在编写一个函数,它将NumPy数组作为参数,并以某种方式对其进行处理。当然,作为第一步,我希望确保用户传递的参数不是空数组 凭直觉,我尝试使用以下方法: 一, 如果len(某些_数组)==0: 一无所获 如果某个_array.size==0: 一无所获 但在这两种情况下,我都会得到以下错误:为什么Python中的some\u nparray.size==0行会出现ValueError?,python,arrays,numpy,Python,Arrays,Numpy,我正在编写一个函数,它将NumPy数组作为参数,并以某种方式对其进行处理。当然,作为第一步,我希望确保用户传递的参数不是空数组 凭直觉,我尝试使用以下方法: 一, 如果len(某些_数组)==0: 一无所获 如果某个_array.size==0: 一无所获 但在这两种情况下,我都会得到以下错误: ValueError:包含多个元素的数组的真值不明确。使用a.any()或a.all() 它指向if语句中的上述条件 我确实理解为什么数组的真值可能不明确,但这里我只想检查数组的大小。当我在不同的可能
ValueError:包含多个元素的数组的真值不明确。使用a.any()或a.all()
它指向if语句中的上述条件
我确实理解为什么数组的真值可能不明确,但这里我只想检查数组的大小。当我在不同的可能输入上测试len()
或np.ndarray.size
时,我总是得到所需的输出,因此我不确定在我的情况下为什么会出现此错误
我也不知道如何使用a.any()
或a.all()
,因为我不想测试单独元素的属性,而只是测试整个数组的特定属性
我是NumPy的新手,所以这可能是一个非常明显的问题,但我真的很感谢你的帮助,因为我找不到具体的答案
谢谢 你能不能也发一个
some_array
的例子,当它应该通过时,条件失败了?@Ananda我似乎找不到它。例如,如果some\u array=np.array([1,2,3])
那么len(some\u array)==0
或者some\u array.size==0
都会产生false,正如预期的那样,因为我的数组的长度实际上是3。但是如果我调用函数:my\u函数(一些数组)
我会得到上面提到的错误。因为否则我们无法繁殖。或者至少我不能打印某个数组。size==0
而不使用if
来检查hi,当问问题时,我们总是喜欢最小可复制的示例,这样我们就可以测试和运行代码,看看发生了什么。您是否也可以发布一个some_array
的示例,当条件应该通过时,条件在哪里失败?@Ananda我似乎找不到它。例如,如果some\u array=np.array([1,2,3])
那么len(some\u array)==0
或者some\u array.size==0
都会产生false,正如预期的那样,因为我的数组的长度实际上是3。但是如果我调用函数:my\u函数(一些数组)
我会得到上面提到的错误。因为否则我们无法繁殖。或者至少我不能打印some_array.size==0
而不使用if
来检查hi,当问问题时,我们总是喜欢最小可复制性示例,这样我们就可以测试并运行代码以查看发生了什么。
if len(some_array) == 0:
return None
if some_array.size == 0:
return None