У меня есть проблема, которую я мог бы уменьшить до следующего:
import numpy as np
X = np.array([[98489.46, 98491.95000000001, 98496.93000000001,
98499.42000000001, 98504.40000000001, 98506.89000000001,
98511.87000000001, 98514.36000000002, 98519.34000000001,
98521.83], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], order='F')
Y = X.copy()
assert(np.array_equal(X, Y))
print(X.mean(axis=1)[0] - X[0, :].mean())
print(Y.mean(axis=1)[0] - Y[0, :].mean())
В первом случае печатается -1.4551915228366852e-11
, что я считаю неожиданным. В основном это говорит о том, что первый ряд среднего значения отличается от среднего первого ряда.
Во втором случае печатается 0
, что ожидается с точки зрения изолированного результата - но я не ожидал, что это будет отличаться от первого случая, поскольку Y
является просто (я думаю, непрерывным по памяти) копия X
.
Может быть, все это объясняется порядком суммирования, но что именно здесь происходит?