簡體   English   中英

如何將 integer 標量數組轉換為標量索引

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM