Python将矩阵数据拆分为单独的列

2024-04-25 06:16:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我已从文件中读取数据并存储到矩阵中(frag_coords):

frag_coords =
[[  916.0907976    -91.01391344   120.83596334]
 [  916.01117655   -88.73389753   146.912555  ]
 [  924.22832597   -90.51682575   120.81734705]

...
 [  972.55384732   708.71316138    52.24644577]
 [  972.49089559   710.51583744    72.86369124]]

type(frag_coords) = 
class 'numpy.matrixlib.defmatrix.matrix'

按指定列重新排序矩阵时,我没有任何问题。例如,下面的代码可以正常工作:

^{pr2}$

我的问题是:

len(frag_coords[0]) = 1

我需要单独访问第一行的各个数字,我尝试过将其拆分,将其转换为一个列表,所有的东西似乎都返回3个数字,而不是列,而是len=1的单个元素。我需要帮助!在


Tags: 代码numpylen排序type矩阵数字coords
1条回答
网友
1楼 · 发布于 2024-04-25 06:16:29

您的问题是您使用的是matrix,而不是ndarray。你确定你想要吗?在

对于一个矩阵,单独索引第一行会得到另一个矩阵,即行矩阵。检查frag_coords[0].shape:它将是(1,3)。对于ndarray,它将是(3,)。在

如果只需要索引第一行,请使用两个索引:

frag_coords[0,j]

或者,如果临时存储行,只需将其作为行矩阵索引:

^{pr2}$

如果您不需要太多的矩阵运算,我建议您改用np.arrays。您总是可以直接将数据读入数组,但在给定的点上,如果您愿意,也可以使用np.array(frag_coords)来转换现有的矩阵。在

相关问题 更多 >