numpy--1.5数组的变形

数组变形最灵活的实现方式是通过reshape()函数来实现。

例如,将数字1~9放入一个3*3的矩阵中:

  np.arange(1, 10).reshape((3, 3))

注意,该方法必须保证原始数组的大小和变形后数组的大小一致。如果满足这个条件,reshape方法将会用到原数组的一个非副本视图。但实际情况是,在非连续的数据缓存的情况下,返回非副本视图往往不可能实现。

另外一个常见的变形模式是一个一维数组转为二维的行或列的矩阵。可以通过reshape方法来实现,或者更简单地在一个切片操作中利用newaxis关键字:

  x = np.array([1, 2, 3])

  (1)通过变形获得的行向量

    x.reshape((1, 3))

   通过newaxis获得的行向量

    x[np.newaxis, : ]

  (2)通过变形获得的列向量

    x.reshape((3, 1))

  通过newaxis获得的列向量

    x[ : , np.newaxis]

猜你喜欢

转载自www.cnblogs.com/husteryzc/p/12895869.html