Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/362.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.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 编写自定义函数乘以x,y的平均值_Python_Python 3.x - Fatal编程技术网

Python 编写自定义函数乘以x,y的平均值

Python 编写自定义函数乘以x,y的平均值,python,python-3.x,Python,Python 3.x,编写自定义函数乘以x,y的平均值 x=[17,13,12,15,16,14,16,16,18,19] y=[94,73,59,80,93,85,66,79,77,91] 我有一个两个列表,我想计算它的平均值。在得到两个平均值后,我想乘以 这段代码我已经尝试实现这个功能,但无法获得预期的输出。如果有任何帮助,我们将不胜感激 def X_bar_y_bar(x,y): x1=[] y1=[] ab=[] for i in x: result_x1=i

编写自定义函数乘以x,y的平均值

x=[17,13,12,15,16,14,16,16,18,19]
y=[94,73,59,80,93,85,66,79,77,91]
我有一个两个列表,我想计算它的平均值。在得到两个平均值后,我想乘以

这段代码我已经尝试实现这个功能,但无法获得预期的输出。如果有任何帮助,我们将不胜感激

def X_bar_y_bar(x,y):
    x1=[]
    y1=[]
    ab=[]
    for i in x:
        result_x1=i-sum(x)/float(len(x))
        result_x1=result_x
        x1.append(result_x1)

    for k in y:
        result_y1=k-sum(y)/float(len(y))
        result_y1=result_y
        y1.append(result_y1)
    total=0
    for i in x1:
        for j in y1:
            r1=i*j
            total = +r1
            print("{:.2f}".format(total))
期望输出:

20.02
17.42
74.52
-0.18
5.32
-5.48
-0.28
-6.48
38.42

您应该真正使用NumPy来实现以下功能:

import numpy as np

x=np.array([17,13,12,15,16,14,16,16,18,19])
y=np.array([94,73,59,80,93,85,66,79,77,91])

(x - np.mean(x)) * (y - np.mean(y))
# array([20.02, 17.42, 74.52, -0.18,  5.32, -8.48, -5.48, -0.28, -6.48, 38.42])

如果不必使用“numpy”,则可以使用以下代码:

x=[17,13,12,15,16,14,16,16,18,19]
y=[94,73,59,80,93,85,66,79,77,91]

def X_bar_y_bar(x,y):
    xave = sum(x)/float(len(x))
    yave = sum(y)/float(len(y))

    for i in range(len(x)):
        result=((x[i]-xave)*(y[i]-yave))
        print("{:.2f}".format(result))

X_bar_y_bar(x,y)
与您的代码相比,更改很少:

1) 平均值计算一次,你应该把它带出循环
2) 作业“result_x1=result_x”没有任何作用,跳过它

您不能使用NumPy吗?谢谢U3.1415926谢谢Nils Werner为您提供的解决方案