numpy 中 n, 陣列與 n,1 陣列的互轉

2021-10-02 22:41:17 字數 1264 閱讀 7589

在 numpy 中,向量 [12

3]

\begin 1\\2\\3\end

⎣⎡​123

​⎦⎤​

和 [123

]\begin 1&2&3\end

[1​2​3

​]的 shape 是相同的,都是(3,),如果想要得到(3,1)或者(1,3)的 shape,需要使用 reshape 方法。如果 想得到(3,1),呼叫a.reshape(-1, 1)或者np.reshape(a, (-1,1)),如果想得到(1,3),呼叫a.reshape(-1,3)或者np.reshape(a, (-1,3))。如下**所示:

(3,1)(1,3)

ndarray

a.reshape(-1,1)a.reshape(-1,3)

numpy

np.reshape(a,(-1,1))np.reshape(a,(-1,3))

-1 的意思是,確定列數後,行數由 總數 / 列數 確定,如果 a 有 n 個元素,列為 3,則行數 = n / 3。

reshape 進行維度的轉換

a = np.array([1

,2,3

])print

(a.shape)(3

,)b = a.reshape(-1

,1)print

(b.shape)(3

,1)

squeeze 方法則相反,將乙個 shape 為(n, 1)或者(1,n,1,...,1)的 ndarray,轉化為shape 為(n,)的 ndarray

把shape中為1的維度去掉

a = np.array([[

1],[

2],[

3]])

print

(a.shape)(3

,1)b = np.squeeze(a)

print

(b.shape)(3

,)

N1 二維陣列查詢

在乙個二維陣列中 每個一維陣列的長度相同 每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。notes 1 二維陣列初始化 int b 2 行數 int ilen b.length 列數 int jle...

hibernate中的n 1問題

前提 hibernate預設表與表的關聯方法是fetch select 不是fetch join 這都是為了懶載入而準備的。1 一對多 在1的這方,通過1條sql查詢得到了1個物件,由於關聯的存在 那麼又需要將這個物件關聯的集合取出,所以合集數量是n還要發出n條sql,於是本來的1條sql查詢變成了...

找出陣列中和為N 1的的所有組合

乙個整數數列,元素取值可能是1 n n是乙個較大的正整數 中的任意乙個數,相同數值不會重複出現。設計乙個演算法,找出數列中符合條件的數對的個數,滿足數對中兩數的和等於n 1。複雜度最好是o n 如果是o n2 則不得分 方法一 排序後,定義兩個指標begin,end分別指向陣列的第乙個和最後乙個元素...