用人話說 Numpy – 3/13 其他建立陣列的方式

用人話說 Numpy andy 4年前 (2020-11-21) 1065次浏览 已收录 0个评论 扫描二维码

用人話說 Numpy – 3/13 其他建立陣列的方式

arange 函數跟 range 函數類似,但返回的是陣列

>>> np.arange(5, dtype=float)
array([ 0., 1., 2., 3., 4.])
>>> np.arange(1, 6, 2, dtype=int)
array([1, 3, 5])

zeros 函數和 ones 函數建立指定維度的新陣列,填入的值就是0 或1 跟函數名稱相同。
以下的方式可能是最通用的用這兩個函數建立陣列的方式

>>> np.ones((2,3), dtype=float)
array([[ 1., 1., 1.],
       [ 1., 1., 1.]])
>>> np.zeros(7, dtype=int)
array([0, 0, 0, 0, 0, 0, 0])

zeros_like 函數和 ones_like 函數,建立新陣列,跟傳入的陣列相同的維度及類型。

>>> a = np.array([[1, 2, 3], [4, 5, 6]], float)
>>> np.zeros_like(a)
array([[ 0., 0., 0.],
       [ 0., 0., 0.]])
>>> np.ones_like(a)
array([[ 1., 1., 1.],
       [ 1., 1., 1.]])

還有一些函數能建立特殊的矩陣(2維陣列),指定長度大小來建立矩陣。補充,所有元素都是0,對角線的元素是1

>>> np.identity(4, dtype=float)
array([[ 1., 0., 0., 0.],
       [ 0., 1., 0., 0.],
       [ 0., 0., 1., 0.],
       [ 0., 0., 0., 1.]])

eye 函數會返回第k 個元素對角線為 1 的矩陣

>>> np.eye(4, k=1, dtype=float)
array([[ 0., 1., 0., 0.],
       [ 0., 0., 1., 0.],
       [ 0., 0., 0., 1.],
       [ 0., 0., 0., 0.]])

用人話說 Numpy – 3/13 其他建立陣列的方式


神隊友學長Andy , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:用人話說 Numpy – 3/13 其他建立陣列的方式
喜欢 (0)
[[email protected]]
分享 (0)
andy
关于作者:
中年大叔,打拼 like young students.
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址