第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

np.arange 中的行為不一致?

np.arange 中的行為不一致?

四季花海 2022-12-27 16:32:01
當我跑步時:import numpy as np np.arange(14.1,15.1,0.1)我得到:array([14.1, 14.2, 14.3, 14.4, 14.5, 14.6, 14.7, 14.8, 14.9, 15. ])但是當我跑步時:np.arange(15.1,16.1,0.1)我得到:array([15.1, 15.2, 15.3, 15.4, 15.5, 15.6, 15.7, 15.8, 15.9, 16. , 16.1])失蹤是15.1怎么回事?為什么在一種情況下輸出顯示最終數(shù)字而在另一種情況下不顯示?我已經(jīng)閱讀了關(guān)于numpy-arange的文檔。它聲明“間隔不包括停止值,除非在某些情況下步長不是整數(shù)并且浮點舍入會影響輸出的長度?!蔽业膯栴}是: 如何讓代碼表現(xiàn)一致?我正在遍歷成對數(shù)字列表(例如 4 和 15,或 44.2 和 46.4),對于每一對,我想創(chuàng)建一個列表,兩對之間的步長為 0.1(例如 4 和 4.5 將是:4.1、4.2、 4.3、4.4、4.5)。但重要的是代碼行為一致。
查看完整描述

1 回答

?
繁星coding

TA貢獻1797條經(jīng)驗 獲得超4個贊

這是由于浮點精度。查看浮點數(shù)的實際十進制表示而不進行任何舍入將使它更清楚:


15.1%1

# 0.09999999999999964


16.1%1

# 0.10000000000000142

請注意,就像 python 一樣range,np.arange不包括end在創(chuàng)建的范圍內(nèi),因此除非浮點錯誤導致值大于end范圍中的步長,否則它不會被包括在內(nèi)。這是第一個的情況float,它的小數(shù)部分小于0.1。


文檔確實建議np.linspace在使用非整數(shù)步驟時使用,因為結(jié)果可能不一致,正是出于上述原因。此外,它還包含一個endpoint參數(shù),允許您執(zhí)行以下操作:


np.linspace(14.1,15.1, 11, endpoint=True)

# array([14.1, 14.2, 14.3, 14.4, 14.5, 14.6, 14.7, 14.8, 14.9, 15. , 15.1])

而且,正如@divakar 所建議的那樣,概括地說,您可以設(shè)置num為:


start = 14.1

stop = 15.1

step = 0.1

num = 1+int((stop-start)/step)


np.linspace(start, stop, num, endpoint=True)

# array([14.1, 14.2, 14.3, 14.4, 14.5, 14.6, 14.7, 14.8, 14.9, 15. , 15.1])


查看完整回答
反對 回復 2022-12-27
  • 1 回答
  • 0 關(guān)注
  • 121 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號