繁体   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