>>> p1.head()
StreamId Timestamp SeqNum
0 3 1490250116391063414 1158
1 3 1490250116391348339 3600
2 3 1490250116391542829 3600
3 3 1490250116391577184 1437
4 3 1490250116392819426 1389
>>> oss.head()
OrderID Symbol Stream SeqNo
0 5000000 AXBANK 3 1158
1 5000001 AXBANK 6 1733
2 5000002 AXBANK 6 1244
3 5000003 AXBANK 6 1388
4 5000004 AXBANK 3 1389
如何使用2个属性作为键合并(SeqNum和StreamId)
>>> merge
OrderID Symbol Stream SeqNo Timestamp
0 5000000 AXBANK 3 1158 1490250116391063414
1 5000001 AXBANK 6 1733 NaN
2 5000002 AXBANK 6 1244 NaN
3 5000003 AXBANK 6 1388 NaN
4 5000004 AXBANK 3 1389 1490250116392819426
我试过用
oss['Time1'] = oss['SeqNo'].map.((p1.set_index('SeqNum')['Timestamp']))
但我需要将两者(SeqNum-SeqNo& Stream-StreamId)作为键包含在内
我知道如果我在两个数据帧中重命名列名并使用合并但我想避免这种情况,这可能很容易.我应该使用类似通用的东西(使用这个数据帧,将THESE列映射到另一个数据帧中的THOLE列并获取所需的coulmns)
解决方法:
使用join
oss.join(p1.set_index(['StreamId', 'SeqNum']), on=['Stream', 'SeqNo'])
OrderID Symbol Stream SeqNo Timestamp
0 5000000 AXBANK 3 1158 1.490250e+18
1 5000001 AXBANK 6 1733 NaN
2 5000002 AXBANK 6 1244 NaN
3 5000003 AXBANK 6 1388 NaN
4 5000004 AXBANK 3 1389 1.490250e+18
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。