Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/329.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 超过k≠的总和;x#u i+的i;休克_Python_Arrays_Numpy - Fatal编程技术网

Python 超过k≠的总和;x#u i+的i;休克

Python 超过k≠的总和;x#u i+的i;休克,python,arrays,numpy,Python,Arrays,Numpy,在Python中,我有一个numpy数组X的值xi,我想创建一个数组F,其中每个条目都是X所有其他条目的总和 然后F如下所示: F= np.array[(x2+x3+...+xn),(x1+x3+...+xn),...,(x1+x2+...+xn-1)] 下面是使用for循环的示例: import numpy as np X=np.array[a,b,c,d,e,f,g] F=np.zeros_like(X) for i,f in enumerate(F): f = sum(np.de

在Python中,我有一个numpy数组
X
的值
xi
,我想创建一个数组
F
,其中每个条目都是
X
所有其他条目的总和

然后
F
如下所示:

F= np.array[(x2+x3+...+xn),(x1+x3+...+xn),...,(x1+x2+...+xn-1)]
下面是使用for循环的示例:

import numpy as np
X=np.array[a,b,c,d,e,f,g]
F=np.zeros_like(X)
for i,f in enumerate(F):
    f = sum(np.delete(i,F))
有没有一种方法可以在不显式使用for循环的情况下实现numpy魔术

如果方程变得更复杂了怎么办

F= np.array[(x2+x3+...+xn)^2+x1,(x1+x3+...+xn)^2+x2,...,(x1+x2+...+xn-1)^2+xn]
如果使用for循环,它将是

import numpy as np
X=np.array[a,b,c,d,e,f,g]
F=np.zeros_like(X)
for i,f in enumerate(F):
    f = sum(np.delete(i,F))**2+X[i]
简单地说,
x.sum()-x

>>> x
array([0, 3, 1, 8, 3, 5, 6, 3, 8, 1])
>>> x.sum()
38
>>> x.sum() - x
array([38, 35, 37, 30, 35, 33, 32, 35, 30, 37])
对于另一个等式,每个分量等于:

(sum(x) - x(i))^2 + x(i) == sum(x)^2 + x(i)^2 - 2 * x(i) * sum(x) + x(i)
因此,您仍然可以以矢量化形式编写它,如:

>>> acc = x.sum()
>>> acc**2 + x**2 - 2 * x * acc + x

嗯,改变你的观点:第一个包含除x1以外的所有值的总和,第二个包含除x2以外的所有值的总和,依此类推。这可能会有帮助:)标题改了,谢谢