Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何同时替换numpy数组中的值_Python_Numpy_Numpy Ndarray - Fatal编程技术网

Python 如何同时替换numpy数组中的值

Python 如何同时替换numpy数组中的值,python,numpy,numpy-ndarray,Python,Numpy,Numpy Ndarray,我有一个带有随机数的numpy数组。比如像这样 [7 1 2 0 2 3 4 0 5] 我想同时替换每个数字,如果这个数组中的数字=7,我想用2替换它,如果数字=2,用3替换它。因此,它将类似于[2 1 3 0 3 3 4 0 5]。我用np尝试过。where,但无法更改任何一个。如果您有多个条件,最好使用: a = np.array([7, 1, 2, 0, 2, 3, 4, 0, 5]) a = np.select([a == 7, a == 2], [2, 3], a) 输出: 如果您有

我有一个带有随机数的
numpy
数组。比如像这样
[7 1 2 0 2 3 4 0 5]
我想同时替换每个数字,如果这个数组中的数字=7,我想用2替换它,如果数字=2,用3替换它。因此,它将类似于
[2 1 3 0 3 3 4 0 5]
。我用
np尝试过。where
,但无法更改任何一个。

如果您有多个条件,最好使用:

a = np.array([7, 1, 2, 0, 2, 3, 4, 0, 5])
a = np.select([a == 7, a == 2], [2, 3], a)
输出: 如果您有多个条件,最好使用:

a = np.array([7, 1, 2, 0, 2, 3, 4, 0, 5])
a = np.select([a == 7, a == 2], [2, 3], a)
输出:
Numpy使用标准的
=
运算符提供与标量的比较,以便
arr==v
返回布尔数组。获取
arr[arr==v]
获取满足条件的
arr
的子集(或片段),因此该片段应该可以工作

将numpy导入为np
arr=np.数组([7,1,2,0,2,3,4,0,5])
arr[arr==7]=2
啊
数组([2,1,2,0,2,3,4,0,5])

Numpy使用标准的
=
运算符提供与标量的比较,以便
arr==v
返回布尔数组。获取
arr[arr==v]
获取满足条件的
arr
的子集(或片段),因此该片段应该可以工作

将numpy导入为np
arr=np.数组([7,1,2,0,2,3,4,0,5])
arr[arr==7]=2
啊
数组([2,1,2,0,2,3,4,0,5])

看一看-您可能必须运行两个替换操作,因此可能类似于
myarray[myarray==2]=3
然后
myarray[myarray==7]=2
这样,第二个条件更改的值不会被第一个替换更改(除非这是故意的).

您的代码是什么样子的?@Chris Hello。我正在尝试编写像这个工具一样工作的代码。在第二部分中,我必须更改值。您的代码是什么样子的?@chrishello。我正在尝试编写像这个工具一样工作的代码。在第二部分中,我必须更改值。谢谢@Nk03的回答。如果这个数组是随机生成的,并且我有一个数字变化的公式,会怎么样?我的意思是,我想做多次更改,但并不总是知道哪个数字将是第一个,我的be
7
将是第二个,因此它将被替换为我不想要的3。我希望你明白我的意思。我在这里硬编码这两个值。如果您想要
动态
值,请不要
硬编码
值,并用合适的公式替换它们。对不起,我的错误。谢谢你的时间和回答。@ArnoldRoyce Np。。谢谢@Nk03的回答。如果这个数组是随机生成的,并且我有一个数字变化的公式,会怎么样?我的意思是,我想做多次更改,但并不总是知道哪个数字将是第一个,我的be
7
将是第二个,因此它将被替换为我不想要的3。我希望你明白我的意思。我在这里硬编码这两个值。如果您想要
动态
值,请不要
硬编码
值,并用合适的公式替换它们。对不起,我的错误。谢谢你的时间和回答。@ArnoldRoyce Np。。如果我要更改多个数字,不是其中两个,而是给定数组中的每个数字,并使用一些公式,该怎么办?谢谢。如果我有多个数字要更改,不是其中两个,而是给定数组中的每个数字都有一些公式,该怎么办?谢谢。这可能是我想要的。我必须试一试。谢谢你的回答。没问题-虽然可能比我的更灵活,所以我也会试试。这更可能是我想要的。我必须试一试。谢谢你的回答。没问题——虽然可能比我的更灵活,所以我也想试试。