python - 使用系列的索引索引 Pandas 数据框
问题描述
我有一个 TimeSeries,我想提取前三个元素,并用它们创建一行包含三列的 Pandas 数据框。例如,我可以使用 Dictionary 轻松做到这一点。问题是我希望这一行 DataFrame 的索引是 Series 的第一个元素的 Datetime 索引。在这里我失败了。
对于一个可重现的例子:
CRM
Date
2018-08-30 0.000442
2018-08-29 0.005923
2018-08-28 0.004782
2018-08-27 0.003243
pd.DataFrame({'Reg_Coef_5_1' : ts1.iloc[0][0], 'Reg_Coef_5_2' : ts1.shift(-5).iloc[0][0], \
'Reg_Coef_5_3' : ts1.shift(-10).iloc[0][0]}, index = ts1.iloc[0].index )
我得到:
Reg_Coef_5_1 Reg_Coef_5_2 Reg_Coef_5_3
CRM 0.000442 0.001041 -0.00035
相反,我希望索引是 '2018-08-30' 一个日期时间对象。
解决方案
如果我对您的理解正确,您希望索引是日期对象,而不是您的示例中的“CRM”。只需相应地设置索引:index = [ts1.index[0]]
而不是index = ts1.iloc[0].index
.
df = pd.DataFrame({'Reg_Coef_5_1' : ts1.iloc[0][0], 'Reg_Coef_5_2' : ts1.shift(-5).iloc[0][0], \
'Reg_Coef_5_3' : ts1.shift(-10).iloc[0][0]}, index = [ts1.index[0]] )
但正如 user10300706 所说,最终可能会有更好的方法来做你想做的事。
推荐阅读
- excel - VBA 从数组动态构建公式
- javascript - 使用 jQuery 克隆、过滤和 plonk HTML 节点
- javascript - NestJS 中的 TypeORM - 如何在实体中获取 MySQL 嵌套对象并对子关系进行“位置”查询?
- git - 在 gihub 操作中解密 GPG 加密文件失败,似乎是由于文件损坏
- html - 如何使用 CSS 或 HTML 消除额外空白的问题?
- machine-learning - 知情作为评分标准
- java - 有没有办法在 Jakarta 3 中使用 Java 11 添加自定义 IDResolver?
- python - Python 异常指南解释
- python - 合并插入混合排序中的键比较
- oauth - 每个组织具有不同范围的 Auth0 访问令牌