python - 合并 2 个具有相似时间索引的数据帧
问题描述
我有 2 个数据框,ts1
并且ts2
. 数据结构如下所示:
Date Close
0 2004-08-05 0.0
1 2004-08-06 -155.0
2 2004-08-09 -140.0
3 2004-08-10 -2.0
4 2004-08-11 -24.0
两者都有一个Date
和Close
列。某些日期可能在 ts1 但不在 ts2 中(反之亦然)。
我想创建一个数据框,ts_merged
看起来像这样:
Date Close_TS1 Close_TS2
0 2004-08-05 0.0 1
1 2004-08-06 -155.0 133
2 2004-08-09 -140.0 4
3 2004-08-10 -2.0 2
4 2004-08-11 -24.0 2
我想要一个数据框,其中只有ts1
和中都存在的日期ts2
。
对于我尝试过的比较ts1.Date[ts1.Date == ts2.Date]
,它不起作用。对于合并,我已经尝试过.merge()
,但它只是将所有内容合并到一个独特的 Close 列中。
我怎样才能做到这一点?
解决方案
将 how='inner' 传递给合并函数。这将告诉合并函数进行内部联接,该内部联接仅保留在两个数据框中找到的键。
ts_merged=ts1.merge(
ts2, on='Date', how='inner', suffixes=('_TS1','_TS2')
)
推荐阅读
- sqlite - 将 Nesper 连接到外部数据库 PgSQL/SQLite
- synchronization - 如何在 p2p 游戏的 2 个对等方之间同步时钟
- google-cloud-platform - 验证模型从 Cloud Scheduler 上传到 VertexAI 作业
- python - 通过 django SMTP 发送电子邮件而不在刷新时发送表单数据?
- docusignapi - 如何使用 C# DocuSign 的 API 查看一批信封的自定义字段
- ios - 对于我的电影观看列表应用程序,可以将电影海报图像存储在设备上吗?
- javascript - IPFSAccessController.save 错误:错误:已弃用,使用 .toString()
- swift - 如何从 XCUITest 中的 MenuItem 读取值?
- c# - 如何从不同的 ViewModel 更新文本块和进度条?
- list - 在jsp页面中垂直显示值列表