python - 熊猫分组时间取决于星期几
问题描述
我有一个 df,其中包含几个列,如 DateTime、“ToConsumer”和“FromGenerator”。
我想根据星期几总结某个时间范围内 FromGen > ToCons 的所有值。在周六和周日,所有值和工作日仅 17:00 和 07:00 之间的值应相加。因此,到目前为止,我已经创建了 DayOfWeek 专栏,但还没有弄清楚如何根据这些政策进行分组?
提前谢谢了!
编辑:我现在创建了“over”列,并通过以下方式删除了所有负值:
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
推荐阅读
- php - Etsy API 分页 - 不知道如何访问其他页面
- reactjs - Firebase 错误:域未列入白名单问题,仅用于更改密码
- postgresql - 我无法连接 postresql 数据库,虽然有数据库
- javascript - 打开由 while 循环生成的具有相同类名的多个按钮提示的非引导模式(弹出对话框/模式)
- laravel - 如何将当前时间戳放在服务器端的 GraphQL 变异模式中?
- python - 如何将白天分开并将其作为python中的表格?
- flutter - 如何将数据发送到从 UI 扩展 BackgroundAudioTask 的 AudioServiceTask 类
- maven - 从 Maven 的子模块中检索顶级版本
- c++ - c++ 警告:“t”可能在此函数中未初始化使用 [-Wmaybe-uninitialized] cm(t,n);
- excel - 从 Excel 转换为 xml 时的格式字符串