Python中使用numpy的动态数组

问题描述:

travel_mat1= numpy.array([[23,23,20,24,28,12,17,10],[11,27,17,19,24,18,23,7], 
[17,26,22,13,18,29,30,18],[22,21,28,7,18,29,30,18],[27,16,33,36,10,23,26,25], 
[31,13,36,14,26,23,20,27],[34,7,33,20,35,17,14,24],[28,13,27,26,37,11,10,18], 
[25,17,33,28,34,10,12,15]]) 

我需要动态更改数组的大小,而不会丢失数组中的实际数据。意思是,我需要一个虚拟的动态数组。Python中使用numpy的动态数组

以上数组Travel_mat1是一个9X8矩阵。所以,如果我需要从一个Travel_mat1大小8 * 7矩阵,它应该看起来像:

([[23,23,20,24,28,12,17],[11,27,17,19,24,18,23],[17,26,22,13,18,29,30], 
    [22,21,28,7,18,29], [27,16,33,36,10,23,26],[31,13,36,14,26,23,20], 
    [34,7,33,20,35,17,14],[28,13,27,26,37,11,10]]). 

手段,我需要减少在这种情况下,行和列。我如何在Python中做到这一点?

您可以使用numpy.delete

 
>>> numpy.delete(numpy.delete(travel_mat1, 8, 0), 7, 1) 
array([[23, 23, 20, 24, 28, 12, 17], 
     [11, 27, 17, 19, 24, 18, 23], 
     [17, 26, 22, 13, 18, 29, 30], 
     [22, 21, 28, 7, 18, 29, 30], 
     [27, 16, 33, 36, 10, 23, 26], 
     [31, 13, 36, 14, 26, 23, 20], 
     [34, 7, 33, 20, 35, 17, 14], 
     [28, 13, 27, 26, 37, 11, 10]]) 
+0

感谢大卫·赫弗南。 – 2015-06-29 11:56:32