我有一个表格的pandas.DataFrame
index ABC
1 -40
2 -30
3 -30
4 -20
5 -20
6 -10
7 -10
8 -10
9 0
10 0
11 0
12 0
13 10
14 10
15 10
16 10
17 20
18 20
19 20
20 30
21 40 我想做ABC的数据分析。
'ABC'.
发布于 2021-11-30 05:53:53
试试这个:
1.绘制直方图
_, bins, _ = plt.hist(data, 20, density=1, alpha=0.5)

2.高斯拟合
_, bins, _ = plt.hist(data, 20, density=1, alpha=0.5)
mu, sigma = scipy.stats.norm.fit(data)
best_fit_line = scipy.stats.norm.pdf(bins, mu, sigma)
plt.plot(bins, best_fit_line)

3.半妇女问题
x = data.index.values
y = np.array(data['ABC'])
def lin_interp(x, y, i, half):
return x[i] + (x[i+1] - x[i]) * ((half - y[i]) / (y[i+1] - y[i]))
def half_max_x(x, y):
half = max(y)/2.0
signs = np.sign(np.add(y, -half))
zero_crossings = (signs[0:-2] != signs[1:-1])
zero_crossings_i = np.where(zero_crossings)[0]
return [lin_interp(x, y, zero_crossings_i[0], half),
lin_interp(x, y, zero_crossings_i[1], half)]
hmx = half_max_x(x,y)
fwhm = hmx[1] - hmx[0]https://stackoverflow.com/questions/70164620
复制相似问题