将不同时间戳格式的多个数据帧堆叠成一个时间戳

问题描述

我有多个数据帧,每个数据帧的数据从 1 分钟到 1440 分钟(一天)不等。每个数据帧都相似,列和长度相同。时间列值采用 hhmm 格式。 假设 df_A 有第 1 天的数据,即 2021-05-06 看起来像这样。

>df_A
timestamp    col1   col2.....  col80
0
1
2
.
.
.
2359

第二天的数据在df_B里面也是一样的。日期是 2021-05-07

>df_B
timestamp    col1   col2.....  col80
0
1
2
.
.
.
2359

我怎样才能将它们一个一个地堆叠在一起并创建一个数据框,同时用一列具有 YYYYMMDD HH:mm 格式的值来标识每一行。看起来像这样:

>df
timestamp      col1    col2.....  col80
20210506 0000
20210506 0001
.
.
20210506 2359
20210507 0000
.
.
20210507 2359

在处理多个数据帧时如何实现这一点?

解决方法

df_A = pd.DataFrame(range(0,10),columns=['timestamp'])
df_B = pd.DataFrame(range(0,columns=['timestamp'])


df_A['date'] = pd.to_datetime('2021-05-06 ' + 
                              df_A['timestamp'].astype(str).str.zfill(4),format='%Y-%m-%d %H%M')

df_B['date'] = pd.to_datetime('2021-05-07 ' + 
                              df_A['timestamp'].astype(str).str.zfill(4),format='%Y-%m-%d %H%M')

df_final = pd.concat([df_A,df_B])

df_final
    timestamp   date
0   0   2021-05-06 00:00:00
1   1   2021-05-06 00:01:00
2   2   2021-05-06 00:02:00
3   3   2021-05-06 00:03:00
4   4   2021-05-06 00:04:00
5   5   2021-05-06 00:05:00
6   6   2021-05-06 00:06:00
7   7   2021-05-06 00:07:00
8   8   2021-05-06 00:08:00
9   9   2021-05-06 00:09:00
0   0   2021-05-07 00:00:00
1   1   2021-05-07 00:01:00
2   2   2021-05-07 00:02:00
3   3   2021-05-07 00:03:00
4   4   2021-05-07 00:04:00
5   5   2021-05-07 00:05:00
6   6   2021-05-07 00:06:00
7   7   2021-05-07 00:07:00
8   8   2021-05-07 00:08:00
9   9   2021-05-07 00:09:00