Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.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_Arrays_Numpy - Fatal编程技术网

Python 如何截断大于指定值的numpy数组?

Python 如何截断大于指定值的numpy数组?,python,arrays,numpy,Python,Arrays,Numpy,与之类似,我想知道如何通过切断大于某个阈值的值来截断numpy数组。所讨论数组的值按升序排列 import numpy as np a=np.linspace(1,10,num=10) truncatevalue = 5.5 如何生成一个数组,该数组的a值小于truncatevalue,并且只包含这些值?在这种情况下,生成的数组将是 a_truncated=([1., 2., 3., 4., 5.]) 奖励:我实际上有两个数组,我想根据其中一个数组中的值截断它们 import numpy a

与之类似,我想知道如何通过切断大于某个阈值的值来截断numpy数组。所讨论数组的值按升序排列

import numpy as np
a=np.linspace(1,10,num=10)
truncatevalue = 5.5
如何生成一个数组,该数组的
a
值小于
truncatevalue
,并且只包含这些值?在这种情况下,生成的数组将是

a_truncated=([1., 2., 3., 4., 5.])
奖励:我实际上有两个数组,我想根据其中一个数组中的值截断它们

import numpy as np
a=np.linspace(1,10,num=10)
b=np.array([19, 17, 15, 14, 29, 33, 28, 4, 90, 6])
truncatevalue = 5.5
b
是一个任意数组,我只是选择了一些数字作为明确的示例。我想截断
b
,就像截断
a
一样,这样结果就会

a_truncated=([1., 2., 3., 4., 5.])
b_truncated=([19, 17, 15, 14, 29])

我不知道它是否会像只是重复需要做的事情那样简单,以获得
a_截断
,所以我想也包括它,以防需要做一些不同的事情。

您可以使用布尔索引:

>>> a = np.linspace(1, 10, num=10)
>>> truncatevalue = 5.5
>>> a_truncated = a[a < truncatevalue]
>>> a_truncated
array([ 1.,  2.,  3.,  4.,  5.])
a_truncated=[if值中的值对应值
是否需要
a_truncated=a[a
?@Joshua-要返回
a_truncated
b_truncatevalue
,在您的示例中,只需要布尔数组
a
。只要定义了
a
b
truncatevalue
,就可以找到任意一个数组。(您不需要首先将
a_truncated
分配给
a[a
。)
>>> b = np.array([19, 17, 15, 14, 29, 33, 28, 4, 90, 6])
>>> b_truncated = b[a < truncatevalue]
>>> b_truncated
array([19, 17, 15, 14, 29])
a_truncated = [value for value in a if value < truncateValue]