简体   繁体   English

numpy:对数组进行升采样的正确方法是什么?

[英]Numpy: What is the correct way to upsample an array?

octave:1> a=[1 2 3]
a =

   1   2   3

octave:2> k=[a;zeros(9,length(a))]
k =

   1   2   3
   0   0   0
   0   0   0
   0   0   0
   0   0   0
   0   0   0
   0   0   0
   0   0   0
   0   0   0
   0   0   0

Is the below method the correct way to achieve it in Python: 以下方法是在Python中实现该方法的正确方法:

>>> a=[1, 2, 3]
>>> np.append(a,np.zeros((9,len(a))))
array([ 1.,  2.,  3.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,
        0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,
        0.,  0.,  0.,  0.])

The octave solution results in a 10x3 matrix while your solution results in a 1-dimensional array with 30 elements. 倍频程解决方案生成10x3矩阵,而您的解决方案生成具有30个元素的一维数组。 I am assuming you want a matrix with the dimensions 10x3 right? 我假设您想要一个尺寸为10x3的矩阵,对吗?

>>>a=np.array((1, 2, 3))
>>>k=np.vstack((a,np.zeros((9,len(a)))))
array([[ 1.,  2.,  3.],
       [ 0.,  0.,  0.],
       [ 0.,  0.,  0.],
       [ 0.,  0.,  0.],
       [ 0.,  0.,  0.],
       [ 0.,  0.,  0.],
       [ 0.,  0.,  0.],
       [ 0.,  0.,  0.],
       [ 0.,  0.,  0.],
       [ 0.,  0.,  0.]])

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM