Python 如何截断大于指定值的numpy数组?
与之类似,我想知道如何通过切断大于某个阈值的值来截断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
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]