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]])
感谢大卫·赫弗南。 – 2015-06-29 11:56:32