1
我想从矩阵中提取出一些指定的列。我矩阵是提取矩阵的可变列数
matrix=[[1,2,3,4,5],
[6,7,8,9,10],
[6,4,3,1,2],
[2,3,4,5,6]]
expected result: [[3,4],[8,9],[3,1],[4,5]] for 2 columns
expected result in case of 3 column:[[1,2,3],[6,7,8],[6,4,3],[2,3,4]]
我试图使用如下方法:
def func(matrix, p):
return np.vstack([a[i] for a in matrix])
以上方法只是返回是一列,但是我想写这需要在多个列的方法作为输入(例如,3栏的预期结果),我的输入栏数也是不同的。请建议一个合适的方法来提取python中的这些列。
[[a[i] for i in (1, 5, 7)] for a in matrix]
用法示例您的输入:
@ user869790:之前你张贴评论,我已经添加了一个例子您的具体使用情况。索引从Python中的'0'开始(以及我知道的大多数其他编程语言)。不知道你为什么得到4x4矩阵,而不是4x3,这似乎不太可能。 – 2012-03-21 19:57:30
感谢您的帮助:)。我得到一个(4×3)矩阵(如有问题)。我在编辑之前发布了我的评论......因此没有看到它......谢谢大家的帮助:) – 2012-03-21 19:59:32
@user:增加了另一种方式,对于那些需要连续列的特殊情况。 – 2012-03-21 20:23:14