Python 3.x Numpy数组:我可以只乘以数组中的几个元素而不是全部元素吗?
我在一个项目中使用Python3和numpy以及matplotlib,从观测望远镜天体测量中获得木星的质量。我想取一个数字数组,比如从1到10,然后只按顺序将其中的几个数字相乘,比如1到4,再乘以-1 所以1到4现在是负的,5到10仍然是正的。我想象出来是这样的: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]
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)
弗里金甜!从来没有想过简单地用这种方式表达语法。纳夫!弗里金甜!从来没有想过简单地用这种方式表达语法。纳夫!