【问题标题】:Joining two arrays/lists of different lengths and setting the correct axis for joining连接两个不同长度的数组/列表并设置正确的连接轴
【发布时间】:2013-08-02 02:55:38
【问题描述】:

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

   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)  

我得到了按顺序加入的新日期列表,但这会改变我想要保持不变的维度,我不知道将它们加入哪个轴。有人可以帮忙吗。

【问题讨论】:

  • 请尝试更清楚地说明您要达到的目标/希望看到的结果。

标签: python numpy append


【解决方案1】:

如果我正确理解了你想要什么,你可以使用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)]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-02
    • 1970-01-01
    • 2011-04-07
    • 1970-01-01
    • 2018-10-02
    相关资源
    最近更新 更多