亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 numpy 中創建類似“正態分布”的范圍

在 numpy 中創建類似“正態分布”的范圍

米脂 2022-01-05 11:27:28
我正在嘗試將數組“bin”到 bin 中(類似于直方圖)。我有一個輸入數組input_array和一個范圍bins = np.linspace(-200, 200, 200)。整體功能如下所示:def bin(arr):    bins = np.linspace(-100, 100, 200)    return np.histogram(arr, bins=bins)[0]所以,bin([64, 19, 120, 55, 56, 108, 16, 84, 120, 44, 104, 79, 116, 31, 44, 12, 35, 68])會返回:array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0])但是,當我接近 0 時,我希望我的 bin 更加“詳細”……類似于 indeal 正態分布。結果,當我接近 0 時,我可以有更多的 bin(即短距離),并且當我向范圍外移動時,bin 會更大。是否可以?更具體地說,不是在一個范圍內有同樣寬的垃圾箱,我可以有一個范圍數組,其中向中心的垃圾箱比靠近極端的垃圾箱小嗎?我已經看過類似的回答這個和numpy.random.normal,但東西是不正確的點擊。
查看完整描述

1 回答

?
ibeautiful

TA貢獻1993條經驗 獲得超6個贊

使用逆誤差函數生成 bin。您需要縮放垃圾箱以獲得所需的確切范圍

此變換有效,因為反誤差函數在零附近比在 +/- 1 附近更平坦。

http://img1.sycdn.imooc.com//61d5103900010adf02980199.jpg

from scipy.special import erfinv

erfinv(np.linspace(-1,1))

# returns: 

array([       -inf, -1.14541135, -0.8853822 , -0.70933273, -0.56893556,

       -0.44805114, -0.3390617 , -0.23761485, -0.14085661, -0.0466774 ,

        0.0466774 ,  0.14085661,  0.23761485,  0.3390617 ,  0.44805114,

        0.56893556,  0.70933273,  0.8853822 ,  1.14541135,         inf])


查看完整回答
反對 回復 2022-01-05
  • 1 回答
  • 0 關注
  • 183 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號