Numpy数组的Numpy scale特定值

2024-09-27 00:19:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我想用乘法器(例如2)来缩放numpy数组的特定值(例如大于5)。我知道我可以通过循环来实现这一点,但我想避免循环。我想我可以实现这一点,不知何故与numpy面具,但我不知道如何实现它。为了证明我的目标是实现我使用了虚函数规模的数组。你知道吗

下面是一个最小的工作示例

import numpy as np

numbers = np.array([-3, 5, 2, -1, -15, 10])
mask = np.abs(numbers) > 5

numbers_scaled = scale_array(array=numbers, mask=mask, scale_factor=2)
print(numbers_scaled)  # np.array([-3, 5, 2, -1, -30, 20]) 

Tags: 函数numpy证明示例目标npmask数组
2条回答

在编写时,mask = np.abs(numbers) > 5会给出要缩放的位置。你知道吗

简单地做numbers[mask] *= 2就可以了:)

将乘以2的屏蔽值直接指定给原始数组,如下所示:

numbers = np.array([-3, 5, 2, -1, -15, 10])
mask = np.abs(numbers) > 5

numbers[mask] = numbers[mask]*2
numbers

array([ -3,   5,   2,  -1, -30,  20])

相关问题 更多 >

    热门问题