У меня есть набор данных с сильным шумом, например
import numpy as np
import matplotlib.pyplot as plt
N = 1000
x = np.linspace(0,10,N)
y = x + 20 * np.random.rand(N)
Я хочу скопировать данные для данного binsize
(или binnumber
). Под этим я в основном подразумеваю Δx
. Связанные данные должны быть взвешены с помощью гауссовой функции, которую вы можете представить как гауссиан, который распространяется по оси Y, взвешивая данные в зависимости от расстояния ожидаемого значения µ
. Кроме того, я хочу, чтобы данные дали мне 1σ-error
.
Я знаю о numpy.digitize
и scipy.stats.binned_statistic
, но я не могу применить ни один из этих двух способов, чтобы получить желаемое биннинг. Возможно, последний должен быть самым простым в этом случае, поскольку он предлагает параметр statistic=<function>
, но я открыт для предложений.