首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Numpy调整大小或Numpy重塑

Numpy调整大小或Numpy重塑
EN

Stack Overflow用户
提问于 2017-08-31 23:58:50
回答 2查看 1.7K关注 0票数 0

我一直在搜索stackexchange档案,但似乎找不到正确的答案……应该使用reshape,应该使用resize,但两者都失败...

设置:3个两种分辨率的netCDF文件...1500米,21000米

需要调整大小或降低分辨率或调整形状或任何合适的词是更高分辨率的文件:)

使用gdalinfo或"print (np.shape(np.shape))“,我们知道较高分辨率的文件的形状或大小为(2907,2331),而较低分辨率的数组的大小为(1453,1166)

因此,我尝试了np.resize (array,(1453,1166))和np.reshape (array,(1453,1166)),并收到如下错误:

ValueError:无法将大小为6776217的数组调整为形状(1453,1166)

当然,我使用了错误的术语/行话,我为此道歉…在命令行上做我需要做的事情,就像gdal_translate -outsize x y -of GTiff infile outfile一样简单

请帮帮我!

EN

回答 2

Stack Overflow用户

发布于 2017-09-01 00:09:37

都不是。

调整形状只会改变数据的形状,而不是总大小,所以你可以将形状为1x9的数组调整为3x3,而不是2x4。

Resize做了类似的事情,但是让你增加大小,在这种情况下,它将用正在调整大小的数组的元素填充新的空间。

你有两个选择:编写你的函数,以你想要的方式调整大小,或者使用Python图像库之一(PIL,Pillow...)应用常见的图像大小调整函数。

票数 2
EN

Stack Overflow用户

发布于 2019-02-18 03:54:33

Did有同样的问题:

代码语言:javascript
复制
  File "primes_test2audio.py", line 117, in <module>
  librosa.display.specshow(features.reshape(n_feat, n_frames) ,
  ValueError: cannot reshape array of size 9620 into shape (20,313)

解决方案:除以9620/20=481,得到一个兼容的形状:

代码语言:javascript
复制
  shape of one sample in 2D:  (20, 481)
  shape of one sample flat: (9620,)

n_frames = 481 #每个样本的帧数

n_features = 20 # mfcc分析的系数数

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45985692

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档