numpy.ravel()的区别numpy.flatten()

import numpy as np

numpy.ravel()的区别numpy.flatten()

(1)两者所要实现的功能是一致的(将多维数组降位一维);

(2)numpy.flatten()返回一份拷贝,对拷贝所做的修改不会影响(reflects)原始矩阵;

(3)numpy.ravel()返回的是视图(view,也颇有几分C/C++引用reference的意味),会影响(reflects)原始矩阵。

1、测试flatten和ravel的值

a1=np.array([[1,2,3],[4,5,6]])
b1=np.array([[1,2,3],[4,5,6]])

print(“a1:”,a1)

a1: [[1 2 3]

[4 5 6]]

print(“a1.flatten():”,a1.flatten())#a1.flatten(): [1 2 3 4 5 6]
print(“b1.ravel():”,b1.ravel())#b1.ravel(): [1 2 3 4 5 6]

2、两个的区别

a1.flatten()[1]=200;#原始矩阵不会改变
print(“a1.flatten():”,a1.flatten())#a1.flatten(): [1 2 3 4 5 6]
b1.ravel()[1]=200;#原始矩阵会改变
print(“b1.ravel():”,b1.ravel())#b1.ravel(): [ 1 200 3 4 5 6]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值