在numpy的的documents:字符串在numpy.r_中的含義是什麼?
>>> np.r_['0,2,0', [1,2,3], [4,5,6]]
array([[1],
[2],
[3],
[4],
[5],
[6]])
什麼第三個數字字符串 '0,2,0' 的意思嗎?
在numpy的的documents:字符串在numpy.r_中的含義是什麼?
>>> np.r_['0,2,0', [1,2,3], [4,5,6]]
array([[1],
[2],
[3],
[4],
[5],
[6]])
什麼第三個數字字符串 '0,2,0' 的意思嗎?
我還沒有用過r_
多的字符串參數;對我來說,更容易直接使用concatanate
及其變體。
但看該文檔:
具有三個逗號分隔的整數的字符串允許 軸的規格沿串聯,尺寸迫使 條目的最小數量,並且該軸應包含數組的開始,其中 小於指定的維數。
'0.2.0'
axis = 0
make it 2d
start with 0d
In [79]: np.r_['0,2,0', [1,2,3], [4,5,6]]
Out[79]:
array([[1],
[2],
[3],
[4],
[5],
[6]])
甲串聯等效
In [80]: np.concatenate(([1,2,3], [4,5,6]))
Out[80]: array([1, 2, 3, 4, 5, 6])
In [81]: np.concatenate(([1,2,3], [4,5,6]))[:,None]
Out[81]:
array([[1],
[2],
[3],
[4],
[5],
[6]])
在這裏,我級聯上軸= 0,和膨脹後串連至2d。但它聽起來像r_
首先擴展了元素的尺寸(但我們可以仔細檢查代碼)。
In [83]: alist = ([1,2,3], [4,5,6])
In [86]: [np.expand_dims(a,1) for a in alist]
Out[86]:
[array([[1],
[2],
[3]]), array([[4],
[5],
[6]])]
In [87]: np.concatenate(_, axis=0)
Out[87]:
array([[1],
[2],
[3],
[4],
[5],
[6]])
我使用expand_dims
使輸入2 d,以及第一後添加新的維度。做完,我可以連接上軸0
注意,輸入r_
可能已經2D,如:如果1
np.r_['0,2,0',[1,2,3], [[4],[5],[6]]]
np.r_['0,2,0',[1,2,3], np.expand_dims([4,5,6],1)]
np.r_['0,2,0',[1,2,3], np.atleast_2d([4,5,6]).T]
三維數字,轉動部件到
In [105]: np.atleast_2d([4,5,6])
Out[105]: array([[4, 5, 6]])
In [103]: np.r_['0,2,1',[1,2,3],[4,5,6]]
Out[103]:
array([[1, 2, 3],
[4, 5, 6]])
通常,如果文檔不清楚,我喜歡深入代碼或嘗試其他輸入。
In [107]: np.r_['1,2,1',[1,2,3], [4,5,6]]
Out[107]: array([[1, 2, 3, 4, 5, 6]])
In [108]: np.r_['1,2,0',[1,2,3], [4,5,6]]
Out[108]:
array([[1, 4],
[2, 5],
[3, 6]])
看代碼,我看到它使用
array(newobj, copy=False, subok=True, ndmin=ndmin)
的組件擴大到所需ndmin
。 3d編號用於構建transpose
參數。詳情凌亂,但效果是一樣的東西:
In [111]: np.array([1,2,3], ndmin=2)
Out[111]: array([[1, 2, 3]])
In [112]: np.array([1,2,3], ndmin=2).transpose(1,0)
Out[112]:
array([[1],
[2],
[3]])
你說「在文檔中」,然後無法鏈接它們。 –
可能是最好的參考文檔(https://docs.scipy.org/doc/numpy/reference/generated/numpy.r_。HTML)並從閱讀中提出具體問題。 FWIW,這是令人困惑的,但第三個數字表明當強制自然n維到n + 1或更高維時,哪個應該是'摺疊'軸。 –
是的,我認爲第三個參數(0)表示切片發生的尺寸。這是顯而易見的,如果你嘗試使用0,2,1,那麼o/p將是:array([[1,2,3],[4,5,6]]) – skrubber