我有这个Python代码,它计算两个数组之间的相关性。但是当我尝试执行这段代码时,我发现这个错误:
AttributeError:“list”对象没有属性“mean”。
我该如何解决这个问题?
import numpy as np
def Correlation_f(X,Y):
if len(X)== len(Y):
Sum_xy = (sum((X - X.mean()) * (Y - Y.mean())))/len(X)
Sum_x_squared = (sum((X - X.mean()) ** 2))/len(X)
Sum_y_squared = (sum((Y - Y.mean()) ** 2))/len(Y)
corre = Sum_xy / np.sqrt(Sum_x_squared * Sum_y_squared)
return corre
我不确定你是如何运行代码的,但一个问题可能是你传递的是一个 python 列表,而不是一个 np 数组。要解决此问题,您应该使用 np.array(list_name) 将列表转换为 NumPy 数组
您可能遇到问题的另一个原因是,要使用 np 的 Mean 函数,您必须使用语法 np.mean(arr) 而不是 arr.mean()。您可以在这里找到更多具体信息:https://sparkbyexamples.com/numpy/numpy-array-mean-function/