np.c_是按列增加拼接兩個矩陣(效果是每行看上去延長了),就是把兩矩陣左右相加,要求行數相等。
np.r_是按行增加拼接兩個矩陣(效果是每列看上去延長了),就是把兩矩陣上下相加,要求列數相等。
參見文件例子:
執行環境jupyternotebook
1.np.c_的用法:
np.c_[np.array([1
,2,3
]), np.array([4
,5,6
])]
分析:先明確np.array是用於資料科學計算的,array後面乙個方括號資料都是預設列向量的,這也符合機器學習中特徵和引數都是預設列向量。列向量[1,2,3]和列向量[4,5,6]根據定義按列相加拼接結果如下,[4,5,6]以列的形式拼接到了列向量[1,2,3]的後面。拼接好後就是乙個3*2的矩陣了,如下:
結果:array([[1, 4],
[2, 5],
[3, 6]])
np.c_[np.array([[
1,2,
3]])
,0,0
, np.array([[
4,5,
6]])
]
分析:上面我們說了array後面資料帶乙個方括號是列向量,那麼帶兩個顯然就是矩陣了,這是1*3的矩陣。1,2,3分別是每一列,4,5,6也是每一列,按列相加,結果顯而易見,如下:
結果:再看乙個np.c_例子:array([[1, 2, 3, 0, 0, 4, 5, 6]])
a = np.array([[
1,2,
3],[
7,8,
9]])
b = np.array([[
4,5,
6],[
1,2,
3]])
c = np.c_[a,b]
c
結果:2.np.r_的用法:array([[1, 2, 3, 4, 5, 6],
[7, 8, 9, 1, 2, 3]])
np.r_[np.array([1
,2,3
]),0
,0, np.array([4
,5,6
])]
分析:np._r是按行增加拼接,首先乙個方括號是列向量,[1,2,3]是列向量,豎起來,在它下面按行增加,0,0拼接上去,[4,5,6]也是列向量。如下:
結果:array([1, 2, 3, 0, 0, 4, 5, 6])
a = np.array([[
1,2,
3],[
7,8,
9]])
b = np.array([[
4,5,
6],[
1,2,
3]])
g=np.r_[a,b]
g
結果以上讀者自己分析。array([[1, 2, 3],
[7, 8, 9],
[4, 5, 6],
[1, 2, 3]])
補充:np.r_,np.c_還有很多用法,給拼接的資料前面新增引數從而讓列拼接的變成行拼接的,或者讓拼接後仍是列向量的資料變成矩陣。這裡就不展開討論了,詳細的用法讀者可以用help(np.r_)或者help(np.c_)去看官方的幫助文件。
numpy中的np c 和np r 詳解
時間 2018.12.03 題目 numpy中的np.c 和np.r 詳解 一維陣列在numpy裡面以列向量儲存。np.r 中的r是row 行 的縮寫,是按行疊加兩個矩陣的意思,也可以說是按列連線兩個矩陣,就是把兩矩陣上下相加,要求列數相等,類似於pandas中的concat np.c 中的c是co...
numpy中矩陣合併np c 和np r
np.r 是按列連線兩個矩陣,就是把兩矩陣上下相加,要求列數相等,類似於pandas中的concat np.c 是按行連線兩個矩陣,就是把兩矩陣左右相加,要求行數相等,類似於pandas中的merge import numpy as np a np.array 1,2,3 b np.array 4,...
C Set和multiset常用用法
set集合容器 實現了紅黑樹的平衡二叉檢索樹的資料結構,插入元素時,它會自動調整二叉樹的排列,把元素放到適當的位置,以保證每個子樹根節點鍵值大於左子樹所有節點的鍵值,小於右子樹所有節點的鍵值 另外,還得保證根節點左子樹的高度與右子樹高度相等。平衡二叉檢索樹使用中序遍歷演算法,檢索效率高於vector...