小李默默吐槽,被這個高斯擬合分布折磨的**,下面是正文
首先是公式
# 自定義函式
deffunc
(x, a, u, sig)
:return a*
(np.exp(
-(x - u)**2
/(2* sig **2)
))
然後就是橫縱座標,畫圖
x = np.array(dist)
y = np.array(probability_dist)
popt, pcov = curve_fit(func, x, y, p0=[2
,2,2
], maxfev=
500000
) a = popt[0]
u = popt[1]
sig = popt[2]
curvex = np.linspace(np.
min(x)
, np.
max(x)
,100
) yvals = func(curvex,
*popt)
# 擬合y值
def
fun(x, a, u, sig, offset)
:return a*
(np.exp(
-(x - u)**2
/(2* sig **2)
))+ offset
當發現平均值是負數時,我就用這個重新計算。那麼多出來的引數寫在**呢
就是那個p0了,加了offset就要多給它傳個引數,至於引數怎麼設定,我是自己手動慢慢調的,可能這就是玄學吧。over
plot1 = plt.plot(x, y,
's', label=
'original values'
) plot2 = plt.plot(curvex, yvals,
'r', label=
'polyfit values'
) plt.xlabel(
'distance'
) plt.ylabel(
'frequency'
) plt.legend(loc=1)
# 指定legend的位置左上角
plt.title(
str(num +1)
+" "
+str
(line +1)
+'mean:'
+str
(format
(u,'.5f'))
+"var:"
+str
(format
(sig,
'.5f'))
) plt.show(
)
最後畫圖 tableau用資料分組 對資料進行分組
您可以建立組以在字段中合併相關成員。例如,如果您正在使用乙個顯示各科平均考試分數的檢視,則您可能需要將某些科目分組在一起以建立科目類別。english 和 history 可合併到 liberal arts majors 組中,而 biology 和 physics 可分組為 science maj...
flask sqlalchemy對資料進行操作
1.如何建表 增刪改查 2.如何對已存在的表進行增刪改查 方法一 採用對映資料庫的方法操作已存在的表,需要使用automap base函式。缺點 由於是對映一張表,表與表之間的關係不能反應,查詢多對多關係表時意義不大。from sqlalchemy import create engine from...
Python對資料庫進行操作
步驟三 編寫python指令碼,下例只是做了個查詢 具體使用要結合你的需求進行對資料庫操作,然後對操作結果進行校驗和下部操作。usr bin python coding utf 8 import mysql.connector import mysqldb conn mysqldb.connect ...