我有两个数据框正在尝试加入但未成功。这是数据框:
df1
symbol count
0. AAL 20
1. BBY 34
2. CLL 23
3. DKG 12
4. LMND 20
df2
symbol TYPE count
0. AAL CALL 11
1. AAL PUT 9
2. BBY CALL 30
3. BBY PUT 4
4. CLL CALL 23
5. CLL PUT 3
6. DKG CALL 6
7. DKG PUT 6
8. LMND CALL 10
9. LMND PUT 10
Expected out put
symbol TotalCount Put Call
0. AAL 20 9 11
1. BBY 34 4 30
2. CLL 26 3 23
3. DKG 12 6 6
4. LMND 20 10 10
这是我的尝试:
newdf = pd.merge(df1,df2, how='left')
但这并不正确。我错过了什么?
答案 0 :(得分:1)
在合并之前,您需要先创建 Call
和 Put
列(可以通过旋转来实现):
(
df1.merge(df2.pivot("symbol", "TYPE", "count"), on="symbol", how="left")
.assign(TotalCount=lambda x: x['CALL'] + x['PUT'])
.drop(columns="count")
)
symbol CALL PUT TotalCount
0 AAL 11 9 20
1 BBY 30 4 34
2 CLL 23 3 26
3 DKG 6 6 12
4 LMND 10 10 20
答案 1 :(得分:0)