【发布时间】:2014-06-02 05:53:24
【问题描述】:
我正在尝试调整 numpy 数组的大小,但似乎调整大小的工作方式是首先展平数组,然后获取第一个 X*Y elem 并将它们放入新的形状。我想要做的是在坐标 3,3 处切割阵列,而不是重新排列它。当我尝试将其放大到 7,7 时会发生类似的事情......而不是“重新排列”我想用零填充新的列和行并保持数据不变。 有没有办法做到这一点?
> a = np.zeros((5,5))
> a.flat = range(25)
> a
array(
[[ 0., 1., 2., 3., 4.],
[ 5., 6., 7., 8., 9.],
[ 10., 11., 12., 13., 14.],
[ 15., 16., 17., 18., 19.],
[ 20., 21., 22., 23., 24.]])
> a.resize((3,3),refcheck=False)
> a
array(
[[ 0., 1., 2.],
[ 3., 4., 5.],
[ 6., 7., 8.]])
谢谢...
【问题讨论】:
-
你能发布一个预期输出的例子吗?
标签: python arrays numpy resize