pandas 基于日期时间生成多个新的DataFrame

j7dteeu8  于 2023-01-19  发布在  其他
关注(0)|答案(1)|浏览(154)

我有一个DataFrame,格式如下:

Date        Hour        Information
                               
2020-11-28  11:14:28           10.0
2020-11-28  11:14:30           15.4
2020-11-28  11:14:33            6.9
2020-11-28  11:14:35           27.0
2020-11-28  11:14:37           70.0
2020-11-28  11:14:40           37.1
2020-11-28  11:14:42            2.4
2020-11-28  11:15:20           11.9
2020-11-28  11:15:22           14.0
2020-11-28  11:15:24          122.8
2020-11-28  11:15:27          10.12
2020-11-28  11:15:29          56.86
2020-11-28  11:15:31          00.54
2020-11-28  11:15:34          01.87
2020-11-28  11:15:36            1.0
2020-11-28  11:24:21          45.45
2020-11-28  11:24:23            9.0
2020-11-28  11:24:26           90.5
2020-11-28  11:24:28            0.0
2020-11-28  11:24:30           5.34
.           .                     .
.           .                     .
.           .                     .
2020-11-30  10:34:12           10.0
2020-11-30  10:34:14           15.4

我需要能够组织右列中的信息,生成一个新的DataFrame,其中包含左列中每个日期时间的信息和小时,这样我就有了如下内容:

DataFrame1:
Datetime    Hour        Information
2020-11-28  11:14:28           10.0
2020-11-28  11:14:30           15.4
.           .                     .
.           .                     .
.           .                     .
2020-11-28  23:59:00           4.42

DataFrame2:
Datetime    Hour        Information
2020-11-29  00:00:00           18.7
.           .                     .
.           .                     .
.           .                     .
2020-11-28  23:59:00           7.54

我的其他日子也是如此,不一定从1月1日开始,但总是有连续几天的记录。我试过使用.groupby(),但找不到一种方法来使用它,而不获得平均值、总和等。

mzmfm0qo

mzmfm0qo1#

如果您想要的多个 Dataframe 可以存储在元组中,则可以执行以下操作

def format_df(df, date_time):
  df["DateTime"] = date_time
  return df.reset_index(drop=True)

dfs_array = tuple(format_df(grouped_df, date_time) for date_time, grouped_df in original_df.groupby("Date"))

相关问题