gpt4 book ai didi

python - 以多列作为键 Pandas 的 map 数据框

转载 作者:太空宇宙 更新时间:2023-11-03 13:33:22 24 4
gpt4 key购买 nike

>>> 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) 作为键我知道如果我在两个数据框中重命名相同的列名并使用合并,这会很容易,但我想避免这种情况。我宁愿使用一些通用的东西,比如(获取这个数据框,将这些列映射到另一个数据框中的那些列并获取所需的库)

最佳答案

使用加入

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

关于python - 以多列作为键 Pandas 的 map 数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43064101/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com