首页 > 其他 > 详细

np.ravel()和np.flatten()的区别

时间:2020-05-25 14:47:39      阅读:54      评论:0      收藏:0      [点我收藏+]

  两者的功能是一致的,将多维数组降为一维,但是两者的区别是返回拷贝还是返回视图,np.flatten(0返回一份拷贝,对拷贝所做修改不会影响原始矩阵,而np.ravel()返回的是视图,修改时会影响原始矩阵
  示例:

import numpy as np
a = np.array([[1 , 2] , [3 , 4]])
b = a.flatten()
print(b: , b)
c = a.ravel()
print(c: , c)
d = a.ravel(F)
print(d: , d)

# 二者的区别
b[0] = 10
print(a: , a)
c[0] = 10
print(a: , a)

输出:
b: [1 2 3 4]
c: [1 2 3 4]
d: [1 3 2 4]
a: [[1 2]
[3 4]]
a: [[10 2]
[ 3 4]]

 

np.ravel()和np.flatten()的区别

原文:https://www.cnblogs.com/SupremeBoy/p/12956521.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!