久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

python - 在 Numpy 里如何高效地定制矩陣?

瀏覽:137日期:2022-08-27 15:04:26

問題描述

比如我想要這樣的矩陣:

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]: bOut[14]: array([[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]])

比如我想給現成的 a 加一維,只能如此手動包裝 np.asarray([a]), 不知 Numpy 有什么 numpy.squeeze 的「反函數」可以拿來用。

問題解答

回答1:

第一個問題,參考樓上的就好,第二個擴展緯度,numpy有專門的函數: expand_dims

In [1]  import numpy as np In [2]  a = np.arange(10) In [3]  b = np.expand_dims(a, axis=0) # axis表示在那一維(軸)插入新的維度 In [4]  b Out[4]  array([[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]])回答2:

np.tile((123, 3, 21), (2, 3, 1))

?In?[1]?? import numpy as np?In?[2]?? a = np.arange(10)?In?[3]?? b = a.reshape((1, 10))?In?[4]?? b?Out[4]?? array([[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]])

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 临汾市| 六盘水市| 玛沁县| 额济纳旗| 磴口县| 手游| 喀什市| 阳东县| 中西区| 湛江市| 旌德县| 崇阳县| 浦东新区| 漠河县| 稷山县| 德庆县| 吉安县| 隆安县| 汪清县| 蓬莱市| 灵寿县| 乌拉特中旗| 遂溪县| 鸡泽县| 徐州市| 海兴县| 金沙县| 红河县| 冀州市| 从江县| 南昌市| 军事| 屏东县| 芜湖市| 浑源县| 泰顺县| 徐水县| 晋城| 东安县| 武平县| 绥德县|