连接两个不同长度的阵列/列表并设置正确的连接轴

时间:2013-08-01 09:09:57

标签: python numpy append

我想加入的列表是两个日期列表,其中的值比另一个更多。

   dates2008 = [2008-12-29 00:00:00 2008-12-30 00:00:00 2008-12-31 00:00:00]
   dates2009 = [2009-01-01 00:00:00 2009-01-02 00:00:00]

我认为这可以通过numpy append来完成:

   a = np.array(dates2008)
   b = np.array(dates2009)
   mergedlist = np.append(a, b)  

我得到了按顺序连接的新日期列表但是这会改变我希望保持相同的维度,并且我不知道将它们加入哪个轴。有人可以帮忙吗。

1 个答案:

答案 0 :(得分:0)

如果我已正确理解您的需求,您可以使用numpy.hstack()合并这两个numpy.ndarray

import numpy as np
import datetime

dates2008 = [datetime.datetime(2008, 12, i) for i in range(29,32)]
dates2009 = [datetime.datetime(2009, 1, i) for i in range(1,3)]
a = np.array(dates2008)
b= np.array(dates2009)

merged = np.hstack((a,b))

## output ##

print "a = {0}".format(a)
print "b = {0}".format(b)
print "merged = {0}".format(merged)

将输出:

a = [datetime.datetime(2008, 12, 29, 0, 0)
 datetime.datetime(2008, 12, 30, 0, 0)
 datetime.datetime(2008, 12, 31, 0, 0)]
b = [datetime.datetime(2009, 1, 1, 0, 0) datetime.datetime(2009, 1, 2, 0, 0)]
merged = [datetime.datetime(2008, 12, 29, 0, 0)
 datetime.datetime(2008, 12, 30, 0, 0)
 datetime.datetime(2008, 12, 31, 0, 0) datetime.datetime(2009, 1, 1, 0, 0)
 datetime.datetime(2009, 1, 2, 0, 0)]