- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 concat
和 pandas 尝试从数据集中过滤掉周一至周五上午 7 点至下午 5 点的工作日。所以基本上剩下的唯一数据是周末所有时间和工作日晚上 6 点到早上 6 点。
import numpy as np
import pandas as pd
np.random.seed(11)
rows,cols = 50000,2
data = np.random.rand(rows,cols)
tidx = pd.date_range('2019-01-01', periods=rows, freq='H')
df = pd.DataFrame(data, columns=['Temperature','Value'], index=tidx)
df_weekend = df.copy()
df_weeknights_AM = df.copy()
df_weeknights_PM = df.copy()
df_weekend = df_weekend[
(df_weekend.index.dayofweek > 4)
]
df_weeknights_AM = df_weeknights_AM[
(df_weeknights_AM.index.dayofweek < 5)
&
(df_weeknights_AM.index.strftime('%H').astype('int') < 7)
]
df_weeknights_PM = df_weeknights_PM[
(df_weeknights_PM.index.dayofweek < 5)
&
(df_weeknights_PM.index.strftime('%H').astype('int') > 17)
]
然后尝试将所有数据集连接在一起。我正在试验 merge
但运气不是很好。
df2 = pd.concat([df_weekend, df_weeknights_AM], axis=1)
df3 = pd.concat([df2, df_weeknights_PM], axis=1)
问题是输出看起来有点不稳定,因为我希望不要创建重复的列,而是希望将所有内容合并到一个数据集中,该数据集基于索引(时间戳)和相同的两个原始列......会是什么最佳实践??在尝试合并时,我得到了与标记为 _x、_y 的重复列类似的东西...
df3
Temperature Value Temperature Value Temperature Value
2019-01-01 00:00:00 NaN NaN 0.180270 0.019475 NaN NaN
2019-01-01 01:00:00 NaN NaN 0.463219 0.724934 NaN NaN
2019-01-01 02:00:00 NaN NaN 0.420204 0.485427 NaN NaN
2019-01-01 03:00:00 NaN NaN 0.012781 0.487372 NaN NaN
2019-01-01 04:00:00 NaN NaN 0.941807 0.850795 NaN NaN
2019-01-01 05:00:00 NaN NaN 0.729964 0.108736 NaN NaN
2019-01-01 06:00:00 NaN NaN 0.893904 0.857154 NaN NaN
2019-01-01 18:00:00 NaN NaN NaN NaN 0.986673 0.338054
2019-01-01 19:00:00 NaN NaN NaN NaN 0.239875 0.796436
2019-01-01 20:00:00 NaN NaN NaN NaN 0.063686 0.364616
2019-01-01 21:00:00 NaN NaN NaN NaN 0.070023 0.319368
2019-01-01 22:00:00 NaN NaN NaN NaN 0.070383 0.290264
2019-01-01 23:00:00 NaN NaN NaN NaN 0.790101 0.905400
2019-01-02 00:00:00 NaN NaN 0.792621 0.561819 NaN NaN
2019-01-02 01:00:00 NaN NaN 0.616018 0.361484 NaN NaN
2019-01-02 02:00:00 NaN NaN 0.168817 0.436241 NaN NaN
2019-01-02 03:00:00 NaN NaN 0.732825 0.062888 NaN NaN
2019-01-02 04:00:00 NaN NaN 0.020733 0.770548 NaN NaN
2019-01-02 05:00:00 NaN NaN 0.299952 0.701164 NaN NaN
2019-01-02 06:00:00 NaN NaN 0.734668 0.932905 NaN NaN
最佳答案
你可以使用 DataFrame.between_time
只保留两个特定时间和 DatetimeIndex.weekday
之间的行仅保留 numerical weeddays 小于 6
(星期六)或相应周末的行,最后 concat
机器人生成的数据帧:
df_1 = df.between_time('18:00', '06:00')
out = df_1[(df_1.index.weekday < 6)]
pd.concat([out, df[(df.index.weekday >= 6)]])
Temperature Value
2019-01-01 00:00:00 0.180270 0.019475
2019-01-01 01:00:00 0.463219 0.724934
2019-01-01 02:00:00 0.420204 0.485427
2019-01-01 03:00:00 0.012781 0.487372
2019-01-01 04:00:00 0.941807 0.850795
... ... ...
2024-09-08 19:00:00 0.949657 0.204419
2024-09-08 20:00:00 0.096483 0.823838
2024-09-08 21:00:00 0.890330 0.706198
2024-09-08 22:00:00 0.827802 0.872472
2024-09-08 23:00:00 0.095236 0.703119
关于python - 在早上 7 点到下午 5 点从数据集中过滤掉 M-F 的更好方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60850695/
我已尝试显示当前日期和时间。当前日期和时间运行良好,这是我的代码: NSDate *currDate = [NSDate date]; NSDateFormatter *dateFormatt
刚接触logstash,真的很享受。 尝试解析包含时间戳的 CSV 文件。想解析时间戳并将其用作@timestamp 字段。 我的 CSV 输入示例 input { stdin {} } fi
我有一个应用程序,允许用户选择他们的语言,选择语言后,它还会根据国家/地区的日期格式更改日期和时间。 我是通过NSDateFormatter实现的。-[dateFormatter setDateFor
我想在没有“AM/PM”的情况下获取今天的日期时间 DateTime dt=DateTime.Now; 给我 23/05/2016 03:16:51 AM 我想要的结果是: 23/05/2016 15
我有以下值。 var list = "09:05, 10:05, 12:30, 16:30 , ... , ..." 列表中values的类型是普通字符串,不是对象。 根据这个值,我想划分上午0点到1
这个问题在这里已经有了答案: 关闭 10 年前。 Possible Duplicate: Displaying the Time in AM/PM format in android 我可以获取时间
如何获取小写的月份名称和上午/下午 DateTime.Now.ToString("MMMM h:m tt"); 这给了我大写字母,但我想要小写字母。 最佳答案 你只需要使用 ToLower 方法 Da
如何将时间转换为 am/pm ? 我有这个输出 I/flutter (17720): 9:00:00 I/flutter (17720): 11:00:00 I/flutter (17720): 12
我有一个像这样的Hive表: create table my_table ( my_timestamp String ) my_timestamp的格式为YYYY-MM-DD HH:MM:SS。我需要
以下链接:How to check a timeperiod is overlapping another time period in java有助于检查给定时间戳是否与另一个时间戳重叠。 但是,只
我正在使用 asp.net MVC TextBoxFor 绑定(bind) bootstrap-datetimepicker。它可以在简单的输入类型文本框中正常工作。 但是当我将它与 mvc 文本框助
我得到一个格式为:MM-dd-yy hhmma zzz 的日期。问题是我只得到 AM 的 A 或 PM 的 P。如何将具有该格式的字符串解析为日期对象? 亚历克斯 最佳答案 使用这个'a' 示例:MM
我试图显示两个日期之间的差异,按月、日、小时、分钟和秒分割。下面的代码似乎可以工作,只是时间总是晚 4 点。我尝试了 HOUR 和 HOUR_OF_DAY,但得到了相同的结果。 Calenda
我需要获取日期对象中的字段 AM/PM。我怎样才能得到它? 这是我的代码。 String startTime ="01:05 PM"; SimpleDateFormat sdf = new Simp
这个问题在这里已经有了答案: How to get the time in am/pm format iphone NSDateFormatter? (8 个答案) Convert NSString
我正在尝试解析一些日期,但 DateTimeParser 似乎不同意我对什么是有效的 import java.time.ZonedDateTime import java.time.format.Da
在 Python 中,使用此函数(将东部标准时间 (EST) 与 am/pm 相结合,应以 3 种时间格式输出。中部时间 (CT)、山地时间 (MT) 和太平洋时间 (PT) 都在正确的上午/下午):
我有一个关于库 moment.js 的问题,我在 angularjs 中有一个应用程序,其中我有六个用于年、月、日、小时、分钟和上午/下午格式的选择元素。我正在使用以下格式时刻来构建 m.format
这个问题已经有答案了: How do I format a date in JavaScript? (69 个回答) 已关闭 3 年前。 我尝试用显示的 AM/PM 格式显示时间,但我找不到任何代码,
我想要这种格式: 2:18:00 pm 使用下面 w3Schools.com 中的示例代码,我可以从 IE 和 FireFox 获得正确的结果。 但是当谈到 Chrome 时,我得到了 24 小时时钟
我是一名优秀的程序员,十分优秀!