我正在努力解决Python中的统计问题。如果这应该转移到Cross Validated,请告诉我。
我试图制作一些直方图,然后对它们取平均值。现在我觉得这有一些根本性的错误。以下代码确实产生了平均分布:
import numpy.linalg
from igraph import *
import random
import numpy as np
freqs = []
bins = []
for iter in range(100):
G = Graph.Erdos_Renyi(100, .12, directed=False, loops=False)
L = G.laplacian(normalized=True)
e = numpy.linalg.eigvals(L)
freqs.append(numpy.histogram(e, bins=50)[0])
bins.append(numpy.histogram(e, bins=50)[1])
meanFreq = np.mean(freqs,axis = 0)
meanBins = np.mean(bins,axis = 0)
print meanFreq
print meanBins
但是......这是在Python / numpy中平均直方图的正确方法吗?如果没有,有没有更好的方法来做到这一点,也许有预定义的numpy函数?
谢谢!
这是一个包含预先设置垃圾箱的建议的版本,这在统计上是否可以接受?
import numpy.linalg
from igraph import *
import random
import numpy as np
freq = []
b = []
bin = []
for i in range(0,200,2):
b.append(float(i)/100)
for iter in range(100):
G = Graph.Erdos_Renyi(100, .12, directed=False, loops=False)
L = G.laplacian(normalized=True)
e = numpy.linalg.eigvals(L)
freq.append(numpy.histogram(e, bins=b)[0])
bin.append(numpy.histogram(e, bins=b)[1])
meanFreq = np.mean(freq,axis = 0)
meanBins = np.mean(bin,axis = 0)
print meanFreq
print meanBins