我有一个df,它包含几个列,如DateTime,"ToConsumer;以及";FromGenerator";。
我想总结FromGen>ToCons在特定的时间范围内,具体取决于星期几。在satsun,所有值和工作日,只有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
不幸的是,这并没有像我预期的那样奏效。。。
我设法通过使用解决了我的问题
df_so.between_time