重塑一个numpy数组

时间:2015-02-18 20:14:54

标签: python numpy

我有以下NumPy数组,

[[date1,num1],[date2,num2],[date3,num3],[date4,num4]]

我想按如下方式划分:

[ [ [date1,num1],[date2,num2] ] , [ [date3,num3],[date4,num4] ] ]

有人可以提出建议吗?

2 个答案:

答案 0 :(得分:0)

a = np.array([['date1','num1'],['date2','num2'],['date3','num3'],['date4','num4']])

a.reshape((2,2,2))
array([[['date1', 'num1'],
    ['date2', 'num2']],

   [['date3', 'num3'],
    ['date4', 'num4']]])

答案 1 :(得分:0)

您可以使用Numpy的reshape方法和-1参数来重塑您指定的两个表单之间的任意长度的数组。像这样:

import numpy as np

#Generate an array of the form you specify of arbitrary length
arraylen = 10
a        = np.array([ ['date'+str(i),'num'+str(i)] for i in range(arraylen*2)])

#Reshape the array per your specifications
a.reshape((-1,2,2))

给出

array([[['date0', 'num0'],
        ['date1', 'num1']],

       [['date2', 'num2'],
        ['date3', 'num3']],
        ...