[英]Fastest way to create 2D numpy array which starts at 0, and increases by 1 across the rows, and continues into the columns?
第一行的第一個元素應以0開頭,並在行中以1遞增,對於下一列繼續以1遞增,依此類推。
這是我正在尋找的例子
array([[0, 1, 2, 3],
[4, 5, 6, 7],
[8, 9, 10, 11],
...,
[5231, 5232, 5233, 5234],
[5235, 5236, 5237, 5238]], dtype=int32)
該解決方案應能夠適用於任何指定的2D尺寸,例如
array([[0, 1, 2, ..., 78, 79, 80],
[81, 82, 83, ..., 158, 159, 160],
...,
[2253, 2254, 2255, ..., 2453, 2454, 2455]], dtype=int32)
這些示例在數值上並不准確,我只是想證明它從0開始,在各行中以1遞增,然后繼續到下一行。
我當時在考慮使用for循環分別填充每個值,但是我不確定這是否是最快的解決方案,還是最pythonic和編程上最優雅的解決方案。
您可以使用
np.arange(nrows*ncols).reshape(nrows,ncols)
順便說一下,這就是在numpy帖子中創建90%的示例2D數組的方式。
創建一個1D數組,使用所需的值初始化該數組,然后使用顛簸的整形將其轉換為2D數組。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.