将NxM numpy数组转换为(N * M)x1

时间:2014-06-16 06:52:41

标签: python arrays numpy pandas

我有一个看起来像这样的numpy数组:

            day1, day2, ..., dayM
year month
1            .                    
2                .
.                    .
.                        .
.                            .
N                               (yearN,dayM)

对我来说,这种格式看起来很怪异。我宁愿将数据放在一列中用于此类工作,然后加载到pandas中(或者如果有更方便的可用内容,我可以开始加载到pandas中)。

我可以使用一些简单的方法专门为“日”行和列执行此操作吗?我不太关心保持“年”和“月”,所以让我们假装他们不在那里。

编辑:我忘了提到虽然“天”矩阵中的每行长度为31,但我只需要保留与该月相对应的数字(包括闰年)。看起来好像是循环的时候......

1 个答案:

答案 0 :(得分:1)

重塑建议最终成为最好的。这最终为我工作,并且比我快得多

reshaped = np.reshape(X,N*M)
result = np.delete(reshaped, np.where(reshaped==32744))

其中X是上述矩阵。 np.delete是为了在不到31天的时间内删除矩阵中的填充值。