- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 pandas/python 新手:我有一个由 datetime
对象索引的dataframe
(events.number)。
我正在尝试在每个星期一(或其他特定工作日)每小时提取一个事件计数。我写道:
hour_tally_monday = events.number.groupby(lambda x: (x.hour & x.weekday==0) ).count()
但这不能正常工作。
我可以删除“& x.weekday==1
”,它可以工作,但可能会使用框架中的所有日期。周一平均的正确(最简单)语法是什么?
最佳答案
我认为你需要首先使用 boolean indexing
过滤数据帧然后使用 groupby
与 size
:
import pandas as pd
start = pd.to_datetime('2016-02-01')
end = pd.to_datetime('2016-02-25')
rng = pd.date_range(start, end, freq='12H')
events = pd.DataFrame({'number': [1] * 20 + [2] * 15 + [3] * 14}, index=rng)
print events
number
2016-02-01 00:00:00 1
2016-02-01 12:00:00 1
2016-02-02 00:00:00 1
2016-02-02 12:00:00 1
2016-02-03 00:00:00 1
2016-02-03 12:00:00 1
2016-02-04 00:00:00 1
2016-02-04 12:00:00 1
2016-02-05 00:00:00 1
2016-02-05 12:00:00 1
2016-02-06 00:00:00 1
2016-02-06 12:00:00 1
2016-02-07 00:00:00 1
...
...
filtered = events[events.index.weekday == 0]
print filtered
number
2016-02-01 00:00:00 1
2016-02-01 12:00:00 1
2016-02-08 00:00:00 1
2016-02-08 12:00:00 1
2016-02-15 00:00:00 2
2016-02-15 12:00:00 2
2016-02-22 00:00:00 3
2016-02-22 12:00:00 3
在版本0.18.1
中,您可以使用新方法DatetimeIndex.weekday_name
:
filtered = events[events.index.weekday_name == 'Monday']
print filtered
number
2016-02-01 00:00:00 1
2016-02-01 12:00:00 1
2016-02-08 00:00:00 1
2016-02-08 12:00:00 1
2016-02-15 00:00:00 2
2016-02-15 12:00:00 2
2016-02-22 00:00:00 3
2016-02-22 12:00:00 3
print filtered.groupby(filtered.index.hour).size()
0 4
12 4
dtype: int64
关于python - Pandas 日期时间: groupy hourly and every monday,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37129296/
每小时整点的 cron 表达式是什么?我试过这个'0 0 *? * *' 但它抛出了一个错误我有一个 Azure 函数计时器触发器 下面的表达式每分钟运行一次。 public static void
这个问题已经有答案了: flot display the date in flot based on timestamp (4 个回答) 已关闭 7 年前。 我的图表上有以下几点: data = [
我正在尝试使用 the schedule module在不断更新的脚本中进行一些基本的调度。 有没有办法设置每“x”小时运行一次的计划,“准时”? 例如,我希望有一个运行时间为:[1:02pm, 2:
我有这样的日记表结构: CREATE TABLE Diary ( [IdDiary] bigint, [IdDay] numeric(18,0) ); INSERT INTO Di
我正在寻找一个字符串 (mysql),它可以正确地计算总时间的几个小时。分钟。我找不到任何合适的东西。 例子: id| time_spent| 1 | 10.15 | 2 | 10.15
是否可以在 ruby 中将“1.hour”字符串转换为 1.hour,将“2.hours”转换为 2.hours?实际上我是从表单的下拉列表中获取这个值的。我想通过这样的方式将它添加到 Time.
假设我有以下疑问: d1 = service.data().ga().get( ids='ga:xxxxxxx', start_date='2016-04-25',
我需要能够以 15 分钟的增量在不同的显示类型中显示我拥有的数据。我有两个问题给我带来了麻烦。一个以半小时为单位显示数据,另一个以小时为单位显示数据。唯一的问题是查询之间的数据总数会发生变化。它不计算
在 shell 中,当我打印这个时 date -d "2016-11-23 13:05 -1 hours " "+%Y-%m-%d %H:00:00" 我得到 2016-11-23 23:00:00
我正在使用this example来自 highcharts,但我需要按如下方式调整: 让 x 轴显示从当前小时开始的当前 24 小时(我能够绘制 24 小时,但不能从当前小时开始绘制) xAxis
我正在尝试将 UTC 日期转换为当前时区,但我注意到一个时间问题。 我在塔希提岛/法属波利尼西亚 (UTC-10),当前时间(使用格式:yyyy/MM/dd HH:mm:ss)是:2018/08/05
我正在使用 JSON 将数据获取到我的数据库。有没有办法在图表更新时将 xAxis 转到 6 小时前、5 小时前、4 小时前、3 小时前、2 小时前、1 小时前?因为我正在使用 LM35 将温度导入到
大家好,我对 psql 有点陌生,需要收集一些我不确定是否可行的数据。 所以我有 7 天的数据。列是 用户编号 导入日期 范围_1_99 范围_100_149 范围_150_199 范围_200_24
我有一个大的 txt 文件空间分隔,我将其分成 18 个较小的文件(每个文件都有自己的列数)。此拆分基于分隔符,即每当时间戳达到午夜时。如此有效,我将以以下形式得到 18 个文件(请注意,忽略破折号和
Heroku says (免费) Must sleep 6 hours in a 24 hour period 好的,没问题。 但是我可以影响向用户显示的消息或任何文本,例如:“您好,用户,不幸的是,
在 Javascript 中,我有 4 个带有值的变量。 以下是示例: var start_hour = 1; var start_minute = 00; var end_hour = 6; var
我想显示以小时、分钟和秒为单位的时间长度,其中有些时间长度大于 24 小时。目前我正在尝试这个: $timeLength = new DateTime(); $timeLength->setTime(
在中五的S周两小时练习题中,代码正确地给出了总课时,但尽管使用了浮动,它还是截断了每周的平均课时。我哪里错了?。当出现提示并输入A时,我输入了每周花费的周和小时数,但它只输出一个整数值,而不是浮点数。
例如,我想解析下面的字符串: Tue Sep 28 18:02:24 GMT+08:00 2010 我使用 SimpleDateFormat 的模式: new SimpleDateFormat("EE
我正在开发应用程序,该应用程序已成功完成并上线。现在,我在该应用程序中发现了一个错误,因为我正在根据用户的当前时间管理项目。就像时间是用元素可用或不可用来定义的,元素只会在那个可用的时间可见。时间随该
我是一名优秀的程序员,十分优秀!