I have an array:
In [37]: bias_2e13 # our array
Out[37]:
[1.7277990734072355,
1.9718263893212737,
2.469657573252167,
2.869022991373125,
3.314720313010104,
4.232269039271717]
The error on each value in the array is:
In [38]: bias_error_2e13 # the error on each value
Out[38]:
array([ 0.13271387, 0.06842465, 0.06937965, 0.23886647, 0.30458249,
0.57906816])
Now I divide the error on each value by 2:
In [39]: error_half # error divided by 2
Out[39]:
array([ 0.06635694, 0.03421232, 0.03468982, 0.11943323, 0.15229124,
0.28953408])
Now I calculate the average of the array using numpy.average
, but using the errors
as weights
.
First I am using the full error on the values, then I am using half the error, i.e. the error divided by 2.
In [40]: test = np.average(bias_2e13,weights=bias_error_2e13)
In [41]: test_2 = np.average(bias_2e13,weights=error_half)
How do both the averages give me the same result when one array has errors which are half of that of the other?
In [42]: test
Out[42]: 3.3604746813456936
In [43]: test_2
Out[43]: 3.3604746813456936