7
>>> print np.array([np.arange(10)]).transpose()

[[0]
 [1]
 [2]
 [3]
 [4]
 [5]
 [6]
 [7]
 [8]
 [9]]

これらの追加の手順を実行せずに垂直範囲を取得する方法はありますか?

4

2 に答える 2

15

np.newaxisを使用できます:

>>> np.arange(10)[:, np.newaxis]
array([[0],
       [1],
       [2],
       [3],
       [4],
       [5],
       [6],
       [7],
       [8],
       [9]])

np.newaxisは単なるエイリアスであり、主に読みやすさのために開発者Noneによって追加されました。numpyしたがってnp.arange(10)[:, None]、上記のソリューションとまったく同じ結果が得られます。

編集:

別のオプションは次のとおりです。

np.expand_dims(np.arange(10), axis=1)

numpy.expand_dims

于 2013-08-10T16:04:54.280 に答える
14

私はするだろう:

np.arange(10).reshape((10, 1))

np.array とは異なり、reshape は配列内のデータをコピーしない軽量操作です。

于 2013-08-10T16:05:52.413 に答える