![](/img/trans.png)
[英]Iterating over Numpy Array rows in python even with 1 row / 2 columns array
[英]Iterating through rows in numpy array with one row
對於二維 numpy 數組A
, A 中的循環將遍歷for a in A
A
行。 這個功能是我想要的代碼,但我在A
只有一行的邊緣情況下遇到了困難(即,本質上是一個一維數組)。 在這種情況下, for
循環將A
視為一維數組並遍歷其元素。 在這種情況下,我希望發生的是 2D 情況的自然擴展,其中循環檢索A
中的(單)行。 有沒有辦法格式化數組A
使得for
循環像這樣運行?
我認為您可以使用np.expand_dims來實現您的目標
X = np.expand_dims(X, axis=0)
根據您是否自己聲明數組,您可以執行以下操作:
A = np.array([[1, 2, 3]])
否則,您可以在迭代之前檢查數組的dim
B = np.array([1, 2, 3])
if B.ndim == 1:
B = B[None, :]
或者您可以使用 function np.at_least2d
C = np.array([1, 2, 3])
C = np.atleast_2d(C)
如果你的數組真的是一個二維數組,即使只有一行,也沒有邊緣情況:
import numpy
a = numpy.array([[1, 2, 3]])
for line in a:
print(line)
>>> [1 2 3]
您似乎很困惑numpy.array([[1, 2, 3]])
是一個二維數組,它是一個二維數組,而numpy.array([1, 2, 3])
是一個一維數組。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.