簡體   English   中英

python 中的 A[:, state] 到底是什么意思?

[英]What exactly A[:, state] means in the python?

下面這行到底是什么意思?


# p=T[:, state] what does this means?

# Here is the complete code
import numpy as np

T = np.array([ [ 0.40, 0.56, 0.03, 0.01],
               [0.45, 0.51, 0.04, 0.00],
               [0.25, 0.25, 0.25, 0.25 ],
               [0.00, 0.00, 0.01, 0.99 ]])

xk = np.arange(len(T))

def gen_sample(state):
    return np.random.choice(xk, 1, p=T[:, state])

我知道它需要轉換矩陣,但是“:”和“狀態”是什么意思?

T是一個 numpy 數組:

In [38]: T
Out[38]: 
array([[0.4 , 0.56, 0.03, 0.01],
       [0.45, 0.51, 0.04, 0.  ],
       [0.25, 0.25, 0.25, 0.25],
       [0.  , 0.  , 0.01, 0.99]])

T[..]正在索引; 在這種情況下是選擇數組的一列:

In [39]: T[:,0]
Out[39]: array([0.4 , 0.45, 0.25, 0.  ])
In [40]: T[:,3]
Out[40]: array([0.01, 0.  , 0.25, 0.99])

花一些時間閱讀numpy基礎知識。 索引數組是一個非常基本的操作。

在這種情況下, :表示選擇此矩陣中的所有“行”,並且state是“列”索引參數。

有很多可能訪問一個數組,並且[start:end]是通過切片。

考慮:

a = np.array([0,1,2,3,4])

如果您嘗試a[1:4]它會返回從第二a position 到第五個結束的切片(請記住 python 索引從零開始)

默認情況下,如果您不傳遞開始和/或結束 position,它們使用 0 開始並使用len(a)結束。

了解有關此w3schools 教程的更多信息

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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