python .ravel() .flatten()

python的numpy模块中 .ravel() .flatten() 就是将输入的数组展平,变成1维。所以经常使用两个函数来将多维数组进行展平,变成1维,距离,如下图所示:

>>> import numpy as np
>>> a=np.array([[1,2,3],[4,5,6]])
>>> print(a.ravel())
[1 2 3 4 5 6]
>>> print(a.flatten())
[1 2 3 4 5 6]

两个函数也有区别,numpy.flatten()返回一份拷贝,对数据更改时不会影响原来的数组。
而numpy.ravel()则返回视图,对数据更改时会影响原来的数组。这就是主要区别。其中这种情况遇到问题比较少,所以经常使用这两个函数是没有问题的。

>>> import numpy as np
>>> a=np.array([[1,2,3],[4,5,6]])
>>> a.flatten()[2]=50
>>> print(a.flatten())  # 结果不变
[1 2 3 4 5 6]
>>> import numpy as np
>>> a=np.array([[1,2,3],[4,5,6]])
>>> a.ravel()[2]=50
>>> print(a.ravel())  # 结果不变
[1 2 50 4 5 6]
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值