Pandas按时间分组,具体取决于一周中的哪一天

2024-10-04 01:28:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个df,它包含几个列,如DateTime、“ToConsumer”和“FromGenerator”

我想总结一下FromGen>;取决于一周中的某一天,在特定时间范围内的TOCON。在周六和周日,所有值和17:00和07:00之间的值应相加。 因此,到目前为止,我已经创建了DayOfWeek专栏,但还没有找到根据这些策略进行分组的方法

非常感谢

编辑: 我现在创建了“结束”列,并通过以下方式删除了所有负值:

df= df[df.select_dtypes(include=[np.number]).ge(0).all(1)]

现在我的df看起来像:

df.dtypes
df.dtypes
DateTime          datetime64[ns, Europe/Berlin]
DevWork                                 float64
FromBatToCons                           float64
FromGenToBat                            float64
FromGenToCons                           float64
FromGenToGrid                           float64
FromGridToCons                          float64
FromGrid                                float64
StateOfCharge                           float64
ToCons                                  float64
FromGen                                 float64
DayOfWeek                                 int64
over                                    float64

所以现在我“只是”必须对这些值求和-我的想法是将数据分成周末和工作日的两个子集,然后消除所有我不需要的时间:

df_weekend = df[df["DayOfWeek"] > 4]
df_work = df[df["DayOfWeek"] < 5]

df_weekend = df_weekend.loc[(df_weekend['DateTime'] <= '7:00:00'
                    & df_weekend['DateTime'] >= '17:00:00')]

不幸的是,这并不像我预期的那样有效: &;:'的操作数类型不受支持str'和'DatetimeArray'

不幸的是,这并不像我预期的那样有效


Tags: 方法gtdfdatetime时间策略float64专栏