我有一个元组列表[(val1,freq1),(val2,freq2)。。。。(valn,freqn)]。我需要得到上述数据的中心趋势(平均值,中位数)和偏差度量值(方差,平均值)。我还想为这些值绘制一个方框图。在
我看到numpy数组有从值列表中获取平均值/中值和标准差(或方差)的直接方法。在
numpy(或任何其他著名的图书馆)有没有直接的方法来操作这样一个频率分布表?在
另外,用程序将上面的元组列表扩展为一个列表的最佳方法是什么?(例如,如果freq dist是[(1,3),(50,2)],则获取列表[1,1,1,50,50]的最佳方法np平均值([1,1,1,50,50]))
我看到一个自定义函数here,但如果可能的话,我希望使用标准实现
要将(值、频率)列表转换为值列表:
给予
要计算平均值,可以通过使用
np.average
参数来避免构建值列表:如你所料的是20.6。但我不认为这对均值、方差或标准差有效。
首先,我将这个凌乱的列表改为两个
numpy
数组,就像@user8153所做的那样:然后可以重建数组(使用
^{pr2}$np.repeat
防止循环):并在} statistical functions 。在
data
数组上使用^{如果这会导致内存错误(或者您只是想尽可能多地压缩性能),您还可以使用一些专门构建的函数:
相关问题 更多 >
编程相关推荐