matlab中累乘,numpy中的裁剪、压缩和累乘

主要介绍三个函数--以下numpy都用np代替

np.ndarray.clip(min,max):大于max的值会被重设成max,小于min的值会被重设成min;不指定min max默认为min 可以只选一个 也可以都选

In [47]: a = np.arange(1,10)

In [49]: a.clip(max=4)

Out[49]: array([1, 2, 3, 4, 4, 4, 4, 4, 4])

In [51]: a.clip(min=6)

Out[51]: array([6, 6, 6, 6, 6, 6, 7, 8, 9])

In [52]: a.clip(3,6)

Out[52]: array([3, 3, 3, 4, 5, 6, 6, 6, 6])

In [54]: a.clip(7)

Out[54]: array([7, 7, 7, 7, 7, 7, 7, 8, 9])

In [55]: a.clip(6,2)

Out[55]: array([6, 6, 6, 6, 6, 2, 2, 2, 2])

In [57]: a.clip(max=3,min=5)

Out[57]: array([5, 5, 5, 5, 3, 3, 3, 3, 3])

#clip()是不会改变ndarray里元素的顺序

In [58]: a=np.array([4,3,6,1])

In [60]: a.clip(2,4)

Out[60]: array([4, 3, 4, 2])

In [61]: a.clip(2,3)

Out[61]: array([3, 3, 3, 2])

np.ndarray.compress():返回一个根据给定条件筛选后的数组

In [65]: a.compress(a<4)

Out[65]: array([1, 2, 3])

In [66]: a.compress((a>3)&(a<6))

Out[66]: array([4, 5])

numpy.ndarray.prod():返回数组中各元素累乘的结果

In [67]: k = 1

In [68]: for i in a:

...: k *=i

In [69]: k

Out[69]: 362880

In [70]: a.prod()

Out[70]: 362880

In [71]: a.cumprod()

Out[71]:

array([ 1, 2, 6, 24, 120, 720, 5040, 40320, 362880])

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值