block_reduce#
- astropy.nddata.block_reduce(data, block_size, func=<function sum>)[源代码]#
通过对本地块应用函数对数据数组进行降采样。
如果
data
不能完全被整除block_size
沿着一个给定的轴,然后数据将被修剪(从末端)沿该轴。- 参数:
- data : array_likeNumpy:ARRAY_LIKE
要重新采样的数据。
- block_sizePYTHON:INT或NumPY:ARRAY_LIKE(PYTHON:INT)
沿每个轴的整数块大小。如果
block_size
是标量和data
有不止一个维度block_size
将用于每个轴。- func :
callable()
,可选Python:Callable(),可选 用于对数据进行下采样的方法。必须是接受4D的Callable
ndarray
(2Dndarray
输入到block_reduce
被重塑为4D),并具有axis
接受元组的关键字。此函数将使用axis=(2, 3)
并且它应该返回一个二维数组。缺省值为sum
,它提供块求和(并保存数据和)。
- 返回:
- output : array_likeNumpy:ARRAY_LIKE
重新采样的数据。请注意,取决于输入
func
,则输出数组的数据类型可能与输入数组不匹配。
实例
>>> import numpy as np >>> from astropy.nddata import block_reduce >>> data = np.arange(16).reshape(4, 4) >>> block_reduce(data, 2) array([[10, 18], [42, 50]])
>>> block_reduce(data, 2, func=np.mean) array([[ 2.5, 4.5], [ 10.5, 12.5]])