gpt4 book ai didi

python - y.ravel().shape[0] 是做什么的?

转载 作者:太空宇宙 更新时间:2023-11-04 04:03:05 25 4
gpt4 key购买 nike

我对下面提到的代码有点困惑:

if y.ravel().shape[0] > 1:

当 y.ravel() 总是返回一维数组并且 shape[0] 返回行数时,所以

y.ravel().shape[0]

总是会返回 1,不是吗?

最佳答案

一维数组的形状是一元组。第一个(也是唯一的)值是数组的长度。当您处理一维数组时,行和列之间没有区别,这些概念假定是二维的。调用 ravel() 后,您没有这些维度,即使原始数组有。

如果数组包含多个元素,则if 语句的条件将为真。它不关心这些元素在哪里,或者数组的原始形状是什么。

所以这些数组中的任何一个都是有效的:

a = np.array([1,2])       # one dimensional, shape=(2,)
b = np.array([[1, 2]]) # two dimensional, shape=(1, 2)
c = np.array([[1], [2]]) # two dimensional, shape=(2, 1)

这些都不是:

d = np.array([])                    # empty
e = np.array([1]) # only one value
f = np.array([[[1]]]) # the number of dimensions doesn't matter
g = np.array([[[], []], [[], []]]) # empty with more dimensions

关于python - y.ravel().shape[0] 是做什么的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57839370/

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