Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.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 3.x Numpy数组:我可以只乘以数组中的几个元素而不是全部元素吗?_Python 3.x_Numpy - Fatal编程技术网

Python 3.x Numpy数组:我可以只乘以数组中的几个元素而不是全部元素吗?

Python 3.x Numpy数组:我可以只乘以数组中的几个元素而不是全部元素吗?,python-3.x,numpy,Python 3.x,Numpy,我在一个项目中使用Python3和numpy以及matplotlib,从观测望远镜天体测量中获得木星的质量。我想取一个数字数组,比如从1到10,然后只按顺序将其中的几个数字相乘,比如1到4,再乘以-1 所以1到4现在是负的,5到10仍然是正的。我想象出来是这样的: L = [1,2,3,4,5,6,7,8,9,10] array_L = np.array(L) >>>array_L array([1,2,3,4,5,6,7,8,9,10]) neg = array_L[0:4]

我在一个项目中使用Python3和numpy以及matplotlib,从观测望远镜天体测量中获得木星的质量。我想取一个数字数组,比如从1到10,然后只按顺序将其中的几个数字相乘,比如1到4,再乘以-1

所以1到4现在是负的,5到10仍然是正的。我想象出来是这样的:

L = [1,2,3,4,5,6,7,8,9,10]
array_L = np.array(L)
>>>array_L
array([1,2,3,4,5,6,7,8,9,10])
neg = array_L[0:4]
>>>neg
array([1,2,3,4])
Neg = neg * -1
>>>Neg
array([-1,-2,-3,-4])
# pseudo code: Neg + array_L(minus elements 0 to 4) = New_L

New_L = array([-1,-2,-3,-4, 5, 6, 7, 8, 9, 10])
现在我需要一种方法,将neg和array_L组合成一个新的最终数组,该数组的输出如下:

L = [1,2,3,4,5,6,7,8,9,10]
array_L = np.array(L)
>>>array_L
array([1,2,3,4,5,6,7,8,9,10])
neg = array_L[0:4]
>>>neg
array([1,2,3,4])
Neg = neg * -1
>>>Neg
array([-1,-2,-3,-4])
# pseudo code: Neg + array_L(minus elements 0 to 4) = New_L

New_L = array([-1,-2,-3,-4, 5, 6, 7, 8, 9, 10])

另外,我知道可能只对我想要的元素而不是整个数组进行有限元素迭代。我可以在列表和数组上执行其中一些操作,如果这样做更简单的话。

与常规python列表一样,您可以在NumPy数组的切片上执行操作,以就地更改它们:

>>> import numpy
>>> L = [1,2,3,4,5,6,7,8,9,10]
>>> array_L = numpy.array(L)
>>> array_L
array([ 1,  2,  3,  4,  5,  6,  7,  8,  9, 10])
>>> array_L[0:4] *= -1
>>> array_L
array([-1, -2, -3, -4,  5,  6,  7,  8,  9, 10])

与常规python列表一样,您可以对NumPy数组的切片执行操作,以就地更改它们:

>>> import numpy
>>> L = [1,2,3,4,5,6,7,8,9,10]
>>> array_L = numpy.array(L)
>>> array_L
array([ 1,  2,  3,  4,  5,  6,  7,  8,  9, 10])
>>> array_L[0:4] *= -1
>>> array_L
array([-1, -2, -3, -4,  5,  6,  7,  8,  9, 10])

你快到了!试试这个:

L = array([1,2,3,4,5,6,7,8,9,10]) 
L[0:4] *= -1
print(L)

你快到了!试试这个:

L = array([1,2,3,4,5,6,7,8,9,10]) 
L[0:4] *= -1
print(L)

弗里金甜!从来没有想过简单地用这种方式表达语法。纳夫!弗里金甜!从来没有想过简单地用这种方式表达语法。纳夫!