我有一个稳态分布矩阵,这就是结果的结果。
[[ 0.43397114, 0.00939583, 0.55663303]
[ 0.43397114, 0.00939583, 0.55663303]
[ 0.43397114, 0.00939583, 0.55663303]]
我想选择其中一个作为P[0]
。但它正在出现
[[ 0.43397114, 0.00939583, 0.55663303]]
任何人都可以告诉我如何选择和转换其中一个,因为它们是相同的,因此它可以反对让我们说X = np.linspace(100,100,3)
答案 0 :(得分:1)
好的,我只想假设你想要的是list
来list of lists
。
In [1]: import numpy as np
In [2]: P = [[ 0.43397114, 0.00939583, 0.55663303],
...: [ 0.43397114, 0.00939583, 0.55663303],
...: [ 0.43397114, 0.00939583, 0.55663303]]
In [3]: P = np.array(P)
In [4]: P = P.flatten()
In [5]: P
Out[5]:
array([ 0.43397114, 0.00939583, 0.55663303, 0.43397114, 0.00939583,
0.55663303, 0.43397114, 0.00939583, 0.55663303])
现在您可以轻松地绘制它们。我希望这就是你的意思。
答案 1 :(得分:1)
如果您创建了np.matrix
:
In [37]: mat=np.matrix([[ 0.43397114, 0.00939583, 0.55663303]
...: ,[ 0.43397114, 0.00939583, 0.55663303]
...: ,[ 0.43397114, 0.00939583, 0.55663303]])
...:
In [38]: mat
Out[38]:
matrix([[ 0.43397114, 0.00939583, 0.55663303],
[ 0.43397114, 0.00939583, 0.55663303],
[ 0.43397114, 0.00939583, 0.55663303]])
In [39]: mat[0]
Out[39]: matrix([[ 0.43397114, 0.00939583, 0.55663303]])
当索引时,该数组子类保留2d维度。
如果它是一个数组,则索引行将为1d
In [42]: mat.A[0]
Out[42]: array([ 0.43397114, 0.00939583, 0.55663303])
但是我对你如何得到那个特别的显示感到困惑。没有matrix(
。内部列表中有逗号,但外部列表中没有逗号。如果是真的,可能意味着你有一个列表数组,而不是2d。但是,我不会期望索引行为。
答案 2 :(得分:0)
您似乎正在尝试使用2D或嵌套列表。
您可以使用以下内容创建它:
p = [[ 0.43397114, 0.00939583, 0.55663303],
[ 0.43397114, 0.00939583, 0.55663303],
[ 0.43397114, 0.00939583, 0.55663303]]
p [0]将访问第一个数组,即[0.43397114,099,0039583,0.55663303]
p [0] [0]将访问第一个数组的第一个元素,即0.43397114
答案 3 :(得分:0)
您的“矩阵”实际上只是一个列表列表。所以当你说p[0]
你真正在做的是访问列表的第一个成员。其中,在这种情况下是列表。如果您想获得该列表的第一个元素,则可以执行p[0][0]
。或p[0][1]
。或p[2][2]
等
此外,您可以使用numpy.matrix
执行此操作。
import numpy as np
p = np.matrix("1, 2, 3; 4, 5, 6; 7, 8, 9")
foo = p.item(0)