SciPy имеет три метода для выполнения 1D-интегралов по выборкам (trapz, simps и romb) и один из способов сделать 2D-интеграл по функции (dblquad), но, похоже, у него нет методов для выполнения 2D-интеграла над образцами - четными на прямоугольной сетке.
Ближайшая вещь, которую я вижу, это scipy.interpolate.RectBivariateSpline.integral - вы можете создать RectBivariateSpline из данных на прямоугольной сетке и затем интегрировать ее. Однако это не очень быстро.
Я хочу что-то более точное, чем метод прямоугольника (т.е. просто суммируя все). Я мог бы, скажем, использовать двумерное правило Симпсона, создав массив с правильными весами, умножив его на массив, который я хочу интегрировать, и затем суммируя результат.
Однако я не хочу изобретать велосипед, если там уже что-то лучше. Есть?