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

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

帶有 numpy 數組的條件循環(huán)

帶有 numpy 數組的條件循環(huán)

ITMISS 2023-08-22 16:47:10
我試圖用 numpy 數組實現以下簡單條件,但輸出是錯誤的。dt = 1.0t = np.arange(0.0, 5.0, dt)x = np.empty_like(t)if np.where((t >=0) & (t < 3)):    x = 2*telse:    x=4*t我得到下面的輸出array([0., 2., 4., 6., 8.])但我期待著array([0., 2., 4., 12., 16.])感謝您的幫助!
查看完整描述

3 回答

?
慕村225694

TA貢獻1880條經驗 獲得超4個贊

在文檔中查找np.where

注意:當僅提供條件時,該函數是 的簡寫?np.asarray(condition).nonzero()。直接使用nonzero應該是首選,因為它對于子類的行為是正確的。本文檔的其余部分僅涵蓋提供所有三個參數的情況。

由于您不提供xy參數,where因此行為類似于nonzero。?nonzero返回 a?tupleof?np.arrays,轉換為 bool 后為 true。所以你的代碼最終評估為:

if?True:
????x?=?2*t

相反,您想使用:

x?=?np.where((t?>=?0)?&?(t?<?3),?2*t,?4*t)


查看完整回答
反對 回復 2023-08-22
?
慕仙森

TA貢獻1827條經驗 獲得超8個贊

的用法np.where不同

dt = 1.0

t = np.arange(0.0, 5.0, dt)

x = np.empty_like(t)

x = np.where((t >= 0) & (t < 3), 2*t, 4*t)

x

輸出


[ 0.,? 2.,? 4., 12., 16.]


查看完整回答
反對 回復 2023-08-22
?
幕布斯6054654

TA貢獻1876條經驗 獲得超7個贊

在您的代碼中,if 語句不是必需的,并且會導致問題。


np.where() 創(chuàng)建條件,因此您不需要 if 語句。


這是您的代碼的工作示例,其中包含您想要的輸出


dt = 1.0

t = np.arange(0.0, 5.0, dt)

x = np.empty_like(t)

np.where((t >=0) & (t < 3),2*t,4*t)


查看完整回答
反對 回復 2023-08-22
  • 3 回答
  • 0 關注
  • 1353 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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