[英]How to convert an integer scalar array in to a scalar index
我想在x[r,t+1]
處分配一個取自某個分布的值:
x[r,t+1] = np.random.choice(np.arange(C+1), size=1, p=P[x[r])
但是,當我運行上面的代碼時,我得到:
TypeError: 只有 integer 標量 arrays 可以轉換為標量索引
我不知道為什么,因為當我運行時(例如):
np.random.choice(np.arange(C+1), size=1, p=P[3])
這正確地返回了一個單值數組。
我認為這可能是由array
類型引起的,但我不確定。
添加:我試圖用x[r]
更改x
,以獲得矩陣x
的整行:
x = np.zeros(10,15)).astype(int)
def MC_P(nr, tm):
for r in list(range(nr)):
x[r,0] = C
for t in list(range(tr-1)):
x[r,t+1] = np.random.choice(np.arange(C+1), size=1, p=P[x[r]])
return x
MC_P(10,15)
我發現錯誤是關於如何在 P 中選擇正確的行。我已經使用P[x[r,t]]
而不是P[x[r]]
解決了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.