gpt4 book ai didi

python - numpy.resize() 重新排列而不是调整大小?

转载 作者:行者123 更新时间:2023-11-28 20:22:32 28 4
gpt4 key购买 nike

我正在尝试调整 numpy 数组的大小,但似乎调整大小的工作方式是首先展平数组,然后获取第一个 X*Y 元素并将它们置于新形状中。我想做的是在坐标 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.]])

谢谢...

最佳答案

放大到 7x7 是这样的

upsized = np.zeros([7, 7]) 
upsized[:5, :5] = a

关于python - numpy.resize() 重新排列而不是调整大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23141960/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com