python - 按工作日选择数据框的行范围(python)
解决方案
如果你有这样的数据框:
df = pd.DataFrame(data={
"WTI": [1, 2, 3, 4, 5, 6],
"Brent": [1, 2, 3, 4, 5, 6]
}, index=["2008-01-01", "2008-01-02", "2008-01-03", "2008-01-04", "2008-01-05", "2008-01-06"])
df
# output
WTI Brent
2008-01-01 1 1
2008-01-02 2 2
2008-01-03 3 3
2008-01-04 4 4
2008-01-05 5 5
2008-01-06 6 6
首先将索引的日期类型更改为日期时间:
df.index = pd.to_datetime(df.index)
接下来,您可以根据需要对其进行过滤:
df[df.index.day_of_week.isin([1, 2, 3, 4])]
# output
WTI Brent
2008-01-01 0.00 0.00
2008-01-02 99.64 97.01
2008-01-03 99.17 98.45
2008-01-04 1.00 5.00
df[df.index.day_name().isin(["Friday"])]
# output
WTI Brent
2008-01-04 4 4
如果 index 是 pandas.core.indexes.datetimes.DatetimeIndex 类型,你有很多过滤它的可能性。检查文档:https ://pandas.pydata.org/docs/reference/api/pandas.DatetimeIndex.html
推荐阅读
- java - Selenium 项目使用 android studio 构建失败
- r - R使用位置切割日期,而不是实际日期
- postgresql - 在 PostgreSQL 10 for Zabbix 3.4 中自动化本机范围分区
- amazon-mws - 我可以使用来自同一服务器的两个亚马逊 MWS 账户吗?
- video-streaming - 如何使用 JW Player 或 Video.js 播放 Google Drive 视频?
- python - 基于唯一列值创建列并填充
- matlab - 为 fmincon 算法生成 n 维随机起点 - 空间的均匀分布
- c# - 在 Docker 上运行 .NET 框架控制台应用服务
- javascript - setTimeout 中的词法作用域
- javascript - 在 CKEditor 中使用辅助功能检查器插件时出现错误消息(通过 Firefox)