我有一个x,y坐标列表。 x值靠近但不相同。我想将x值在一个范围内合并在一起,然后取每个bin中y值的平均值。我希望最终结果是两个一维数组-装箱的x值之一,另一个相关的y平均值。
例如,对于list = ((1.0, 10.2), (1.3, 10.1), (1.6, 10.8), (2.3, 12.0), (2.4, 12.7))
,>
我希望输出为:x = [1.0, 1.5, 2.0]
和y = [10.15, 10.8, 12.35]
。
在下面的代码中,我尝试使用scipy的stats.binned_statistic
,但是由于不确定如何指定垃圾箱大小,因此未成功。在下面的代码中,我将每个bin放入10个元素以使其正常工作,但实际上,我想指定一个范围,例如将彼此之间0.5范围内的所有数字合并在一起。
我也看过numpy.digitize
,但不是我要的那个。
import numpy as np
from scipy import stats
x = [x_values]
y = [corresponding_y_values]
test = stats.binned_statistic(x, y, 'mean', bins=(len(x))/10)
plt.plot(test)
我有一个x,y坐标列表。 x值靠近但不相同。我想将x值在一个范围内合并在一起,然后取每个bin中y值的平均值。我...
如果将来其他人有相同的问题,我可以使用它: