python - 如何在不知道精确索引的情况下按列索引拆分 DataFrame?
问题描述
我有一个股票价格数据库,其中包含从 2001 年 12 月 31 日到 2021 年 12 月 31 日的交易日的 DateTime 指数。我必须将数据库划分为 6 个月,例如从 2001 年 1 月 1 日到 2001 年 6 月 30 日,依此类推。我的想法是使用以下内容:
period_1 = df.loc["20010101": "20010530", :]
它有效,但是当我尝试这个时:
period_2 = df.loc["20010601":"20013112", :]
它不起作用。那是因为这些指数不存在(这些是周末),所以正确的方法是选择前一个交易日。我怎么能做到?
谢谢!
解决方案
df.index.get_loc()
函数返回请求标签的整数位置、切片或布尔掩码。该函数适用于已排序和未排序的索引。如果传递的值不存在于索引中,它会提供各种选项。
尝试df.index.get_loc(your_datetime, method='nearest'))
推荐阅读
- flutter - Flutter 如何处理异步/等待中的错误
- python - 在 Pandas 中将字符串拆分为每个字符的多列
- javascript - 如何将变量从后台传输到弹出窗口并访问它?
- azure - 我想使用单个 Azure 密钥保管库,在多个团队之间共享。使用 RBAC 是否希望允许有权访问他们有权访问的那些对象?
- jberet - 块 ItemReader 处理多个文件
- javascript - 滑动以使用 Selenium 解锁
- javascript - 将变量传递给 html href
- shell - 更新相同文件代码的 Shell 脚本正在循环
- c# - 是否可以在 C#(.NET Framework 4.7.2)中的 .settings 文件中添加其他属性
- swagger - 向 Codegen CLI 提供 Auth 标头