微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

匹配来自两个数据框的买入卖出条目并创建一个新的 Python 3.8 / W10

如何解决匹配来自两个数据框的买入卖出条目并创建一个新的 Python 3.8 / W10

Python /熊猫。

逐行匹配买卖条目。

BuyDF和SellDF是从一个excel文件中获得的,并按升序排序(L列)。

该图像显示了如何进行匹配。

按照先进先出方法名称匹配买卖条目。

从BuyDF中获取一个条目(名称AAA),并与SellDF中的第一个/最顶部条目(名称AAA)相匹配,然后将SellDF中的匹配行移到BuyDF的对应行的前面,并删除Sell DF行。 / p>

返回BuyDF第二个条目并匹配SellDF条目,将匹配的行从SellDF中移出,并将匹配的行从SellDF中移到BuyDF的对应行的前面,并从Sell DF中删除该行......等等上。

对于不匹配的名称,将匹配行留空。

不应更改升序(时间/ L列)以保持先进先出。

尝试使用合并,但对我不起作用。

如何进行?

BuyDF

{'Date': {0: '2019-04-01',1: '2019-04-01',2: '2019-04-01',3: '2019-04-01',4: '2019-04-02',5: '2019-04-02',6: '2019-04-02',7: '2019-04-02',8: '2019-04-05'},'Name': {0: 'AAA',1: 'AAA',2: 'AAA',3: 'AAA',4: 'BBB',5: 'CCC',6: 'CCC',7: 'BBB',8: 'AAA'},'Ref': {0: 1,1: 1,2: 1,3: 1,4: 5,5: 7,6: 7,7: 6,8: 1},'Seg': {0: 'S',1: 'S',2: 'S',3: 'S',4: 'L',5: 'XL',6: 'XL',7: 'L',8: 'S'},'Trans': {0: 'buy',1: 'buy',2: 'buy',3: 'buy',4: 'buy',5: 'buy',6: 'buy',7: 'buy',8: 'buy'},'Qty': {0: 1,4: 1,5: 1,6: 1,7: 1,'Price': {0: 225,1: 225,2: 225,3: 225,4: 210,5: 210,6: 210,7: 210,8: 225},'Order ID': {0: 8249,1: 111,2: 654,3: 111,4: 888,5: 444,6: 444,7: 888,8: 111},'Trade ID': {0: 1010,1: 1010,2: 1010,3: 1010,4: 4645,5: 132,6: 132,7: 4700,8: 1010},'Time': {0: '2019-04-01 11:05:18',1: '2019-04-01 13:05:18',2: '2019-04-01 13:05:18',3: '2019-04-01 13:05:59',4: '2019-04-02 13:20:05',5: '2019-04-02 13:35:02',6: '2019-04-02 13:35:02',7: '2019-04-02 14:20:12',8: '2019-04-05 13:05:18'}}

SellDF

{'Date': {5: '2019-04-01',8: '2019-04-02',13: '2019-04-03',14: '2019-04-05',15: '2019-04-05'},'Name': {5: 'AAA',6: 'BBB',8: 'BBB',13: 'DDD',14: 'AAA',15: 'AAA'},'Ref': {5: 3,6: 2,7: 2,8: 2,13: 8,14: 4,15: 4},'Seg': {5: 'L',6: 'X',7: 'X',8: 'X',13: 'XS',14: 'L',15: 'L'},'Trans': {5: 'sell',6: 'sell',7: 'sell',8: 'sell',13: 'sell',14: 'sell',15: 'sell'},'Qty': {5: 1,8: 1,13: 1,14: 1,15: 1},'Price': {5: 210,8: 210,13: 210,14: 210,15: 210},'Order ID': {5: 555,6: 222,7: 222,8: 222,13: 999,14: 555,15: 555},'Trade ID': {5: 1640,6: 1532,7: 1532,8: 1532,13: 14623,14: 1645,15: 1645},'Time': {5: '2019-04-01 14:13:40',6: '2019-04-02 13:10:32',7: '2019-04-02 13:10:32',8: '2019-04-02 13:10:32',13: '2019-04-03 15:25:50',14: '2019-04-05 14:41:45',15: '2019-04-05 14:41:45'}}

enter image description here

发布图片以方便理解。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。