python中ravel,

  python中ravel,

  作用:两者都是把nm的矩阵变成1mn的行向量。

  建议用flatten()代替ravel()。

  因为flatten()在使用过程中会分配新的内存,但是ravel()会返回一个数组的视图。

  ravel()返回的视图类似于对一个数组的引用(说引用是因为原数组的地址和ravel()返回的数组地址不一样不合适),所以在使用过程中会修改原数组。

  示例:将numpy导入为NPA=orange (12)。reshape (3,4)print(A)#[[0 123]#[4 567]#[8 9 10 11]]#创建一个数组bb=A . copy()# flatten C=A . ravel()d=B . flatten()#输出C和d数组# C和d数组具有相同的内容print(C)#[0 1 2 3 4 5 6 7 8 9 10 11]print(d)#[0 1 2 3 4 5 6 7 8 9 10 11]# A,B,C, D是四个不同的对象print (A是C) # false print (B是D) # false # C是由A通过ravel()得到的。 当C再次被修改时,A也被修改。c[1]=99d[1]=99 print(a)#[[0 99 2 3]#[4 5 6 7]#[8 9 10 11]]print(b)#[[0 1 2 3]#[4 5 6 7]#[8 9 10 11]]print(c)#[0 99 2 3 4 5 6 6 6 6 7 7 8 9 10 11]print(d)#[0 99 2 3 4 5 6 7 8 9 10 11]

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: