python - 在 Numpy 里如何高效地定制矩阵?
大家讲道理
大家讲道理 2017-04-18 10:26:33
0
2
709

比如我想要这样的矩阵:

In [10]: np.array([[(123, 3, 21)] * 3] * 2)
Out[10]: 
array([[[123,   3,  21],
        [123,   3,  21],
        [123,   3,  21]],

       [[123,   3,  21],
        [123,   3,  21],
        [123,   3,  21]]])

Numpy 里有什么办法能代替如此粗鲁的「列表乘法」?显然 numpy.full 不行,因为它只能用一个 scalar 填充矩阵,不能用 [123, 3, 21] 填充。

此外我还想给某矩阵「加若干维」:

In [11]: a = np.arange(10)
In [13]: b = np.asarray([a])
In [14]: b
Out[14]: array([[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]])

比如我想给现成的 a 加一维,只能如此手动包装 np.asarray([a]), 不知 Numpy 有什么 numpy.squeeze 的「反函数」可以拿来用。

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全員に返信(2)
PHPzhong

最初の質問については、上の 2 番目の拡張緯度を参照してください。numpy には特別な関数があります: expand_dims

リーリー
いいねを押す +0
阿神

リーリー リーリー

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート