我知道这个问题已经被问了很多次了,我试着获得使用多维数组的直觉(here,here),但我不知道这个过程。在
我使用Calendar库中的yeardatescalendar()
获得一年中的天、周、月,打包成一个4D列表。在
import calendar
cal = calendar.Calendar()
yr_11 = cal.yeardatescalendar(2011)
返回值是月份行的列表。每个月行最多包含3个月。每个月包含4到6周,每周包含1到7天。在
我试图把它转换成一个二维数组,所以它只是一个星期的列表。但即使我试着这么做,我也不理解输出。在
^{pr2}$但它抛出一个错误:ValueError: cannot reshape array of size 12 into shape (63,1)
有人能解释一下发生了什么并帮助把它变成一个二维数组吗?在
编辑:基本上我在找这个
[[datetime.date(2010, 12, 27),
datetime.date(2010, 12, 28),
datetime.date(2010, 12, 29),
datetime.date(2010, 12, 30),
datetime.date(2010, 12, 31),
datetime.date(2011, 1, 1),
datetime.date(2011, 1, 2)],
[datetime.date(2011, 1, 3),
datetime.date(2011, 1, 4),
datetime.date(2011, 1, 5),
datetime.date(2011, 1, 6),
datetime.date(2011, 1, 7),
datetime.date(2011, 1, 8),
datetime.date(2011, 1, 9)], ... ]
yeardatescalendar
返回的嵌套的list
具有以下层次结构:因此,例如,}。请记住,索引是从左(最少嵌套)到右(嵌套最多)的,但我们通常以相反的方向读取这些元素(首先是最细粒度的)
yr_11[2][1][3][2]
将在第3区块中给出代表第2个月第4周第3天的{为了简化我们的计算,我们可以传递
width=12
,这样我们的结果将包含一个包含12个月的数据块。在接下来,只需将
list
展平并将结果传递给np.array
:输出:
^{pr2}$相关问题 更多 >
编程相关推荐