擅长:python、mysql、java
<p>要计算协方差,您需要类似下面这样的内容,它有一个嵌套循环,遍历每个列表,并使用协方差公式累积协方差。在</p>
<pre><code># let's get the mean of `X` (add all the vals in `X` and divide by
# the length
x_mean = float(sum(X)) / len(X)
# now, let's get the mean for `Y`
y_mean = float(sum(Y)) / len(Y)
# initialize the covariance to 0 so we can add it up
cov = 0
# we'll use a nested loop structure the outer loop can be through `Y`
# or `X`, it doesn't matter in this case
# we'll use python's `enumerate`, which lets us iterate through the `list`
# using a `tuple` that contains (the_current_index, the_current_element),
# or in `C`/`Java` terms, `(i, arr[i])`
for y_idx,y in enumerate(Y):
for x_idx,x in enumerate(X):
# the covariance is defined by the following equation
# you don't need to loop through `P` the outer list
# contains 2 elements, which is the size of `X`, and
# the inner list contains 3 elements, which is the size of `Y`
cov += (x - x_mean) * (y - y_mean) * P[x_idx][y_idx]
print cov # => 0.25
</code></pre>