文章目录
一、裁剪、压缩、累乘
1、裁剪
- 概念:指的是削掉波峰或波谷这类型的,将调用数组中小于min的元素设置为min,大于max的元素设置为max
- 用法:ndarray.clip(min=最小值, max=最大值)
2、压缩
- 概念:返回调用数组中满足给定条件的元素
- 用法:ndarray.compress(条件)
3、累乘
- 结果累乘:返回调用数组中各元素的乘积,是累乘结果
ndarray.prod() - 过程累乘:返回调用数组中个元素计算累乘的过程数组,是累乘过程
ndarray.cumprod()
4、练习代码
import numpy as np
a = np.arange(1, 10).reshape(3, 3)
print(a)
# 裁剪
b = a.clip(min=3, max=7)
print('-------------\n', b)
# 压缩
c = a.compress(a.ravel() > 3).reshape(-1, 3)
# 压缩只能处理一维数组,因此需要ravel扁平化一下,在reshape变为任意行3列的二维数组
print('-------------\n', c)
# 因为条件两边都是布尔型数组,不是单单的布尔值,不能用and
# 当有多个条件时,需要用 & 符号做与运算,并且在两边加上小括号()
d = a.compress((3 < a.ravel()) & (a.ravel() < 7))
print('-------------\n', d)
# 累乘结果
e = a.prod()
print