合并范围内所有x值,然后取每个bin中所有y值的均值的最佳方法?

问题描述 投票:0回答:1

我有一个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值的平均值。我...

python list range mean binning
1个回答
0
投票

如果将来其他人有相同的问题,我可以使用它:

© www.soinside.com 2019 - 2024. All rights reserved.