我有以下数据框:
Date 2017-12-05 2017-12-06 2017-12-15 2017-12-19 2017-12-20 2017-12-21 .... time 00:00:00 19.94 21.19 21.88 20.76 21.26 21.26 00:15:00 20.29 21.07 21.71 21.79 21.95 21.52 00:30:00 21.03 21.25 21.80 22.15 22.26 21.62 00:45:00 22.20 21.56 22.77 22.20 22.33 21.91 01:00:00 23.25 22.15 23.71 22.31 22.69 21.99 01:15:00 23.78 23.33 24.53 22.29 22.82 22.58
列是日期,我想按每 3 个日期列拆分数据框。我该怎么做?
最终结果的说明以及拆分后的结果数据帧之一:
Date 2017-12-05 2017-12-06 2017-12-15 2
time
00:00:00 19.94 21.19 21.88
00:15:00 20.29 21.07 21.71
00:30:00 21.03 21.25 21.80
00:45:00 22.20 21.56 22.77
01:00:00 23.25 22.15 23.71
01:15:00 23.78 23.33 24.53
最佳答案
你可以使用np.split(..., axis=1) :
In [157]: N = 3
In [158]: dfs = np.split(df, np.arange(N, len(df.columns), N), axis=1)
In [159]: dfs[0]
Out[159]:
2017-12-05 2017-12-06 2017-12-15
00:00:00 19.94 21.19 21.88
00:15:00 20.29 21.07 21.71
00:30:00 21.03 21.25 21.80
00:45:00 22.20 21.56 22.77
01:00:00 23.25 22.15 23.71
01:15:00 23.78 23.33 24.53
In [160]: dfs[1]
Out[160]:
2017-12-19 2017-12-20 2017-12-21
00:00:00 20.76 21.26 21.26
00:15:00 21.79 21.95 21.52
00:30:00 22.15 22.26 21.62
00:45:00 22.20 22.33 21.91
01:00:00 22.31 22.69 21.99
01:15:00 22.29 22.82 22.58
关于python - 如何垂直拆分数据框,在每个结果 DF 中有 N 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48476629/