【问题标题】:mean of the probability activation for each day of a week with pythonpython 一周中每一天的概率激活平均值
【发布时间】:2016-12-24 03:58:23
【问题描述】:

我有一个具有这种结构的数据框 df:

TIMESTAMP probab-activ1  probab-activ3  probab-activ5    
2015-07-31 23:00:00 90.0 90.0 90.0 
2015-07-31 23:10:00 0.0 0.0 0.0 
2015-07-31 23:20:00 0.0 0.0 0.0 
2015-07-31 23:30:00 0.0 0.0 0.0 
2015-07-31 23:40:00 0.0 0.0 0.0
...
2015-10-31 23:20:00 0.0 0.0 0.0 
2015-10-31 23:30:00 0.0 0.0 0.0 
2015-10-31 23:40:00 0.0 0.0 0.0

我需要计算一周中每一天(星期一、星期二、..、星期日)在过去 2 个月内持续的概率(probab-activ1、probab-activ3 和 probab-activ5)的平均值。

有解决这个问题的办法吗?

提前谢谢你

【问题讨论】:

  • 请向我们展示您的尝试
  • a.split('-')[2] 获取第一列的最后一个数字,并用 7 计算它的 mod。如果是 1,例如星期一。每个可能的结果 (0-6) 对应于一周中的一天。用字典映射它们。收集所有“星期一”并除以它们的实例数
  • @Arman 感谢您的回复。我没有尝试,我只是在寻找从时间戳中提取日期(星期一,..)的想法。好像有点复杂

标签: python dataframe


【解决方案1】:

您可以使用datetime 模块并将您的时间戳转换为对您的目的有用的格式。例如,您可以这样做:

import datetime

timestamp = '2015-07-31 23:00:00'
day_of_week = datetime.datetime.strptime(timestamp, '%Y-%m-%d %H:%M:%S').strftime('%a')

day_of_week
'Fri'

【讨论】:

  • 感谢您的回复,但就我而言,我将列时间戳作为 38840 非空对象而不是字符串,因此 strptime 函数无法正常工作
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-19
  • 1970-01-01
  • 2018-12-19
  • 2020-09-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多