问题描述
我有多个数据帧,每个数据帧的数据从 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