python - 熊猫在某些数据帧行上翻转标志
问题描述
我有一个看起来像这样的数据框:
underlyingSymbol symbol description averagePrice marketValue putCall shortQuantity longQuantity
0 COST COST_071720P285 COST Jul 17 2020 285.0 Put 1.947 0.080 PUT 0.0 1.0
1 COST COST_071720P290 COST Jul 17 2020 290.0 Put 2.493 -0.115 PUT 1.0 0.0
2 COST COST_071720C330 COST Jul 17 2020 330.0 Call 2.383 -2.370 CALL 1.0 0.0
3 COST COST_071720C335 COST Jul 17 2020 335.0 Call 1.587 1.200 CALL 0.0 1.0
4 GLD GLD_071720P151 GLD Jul 17 2020 151.0 Put 0.887 0.015 PUT 0.0 1.0
5 GLD GLD_071720P154 GLD Jul 17 2020 154.0 Put 1.413 -0.020 PUT 1.0 0.0
6 GLD GLD_071720C169 GLD Jul 17 2020 169.0 Call 1.583 -1.655 CALL 1.0 0.0
7 GLD GLD_071720C172 GLD Jul 17 2020 172.0 Call 1.137 0.450 CALL 0.0 1.0
我一直在尝试翻转averagePrice
列上的标志,但前提shortQuantity
是大于longQuantity
这应该是最终结果:
underlyingSymbol symbol description averagePrice marketValue putCall shortQuantity longQuantity
0 COST COST_071720P285 COST Jul 17 2020 285.0 Put 1.947 0.080 PUT 0.0 1.0
1 COST COST_071720P290 COST Jul 17 2020 290.0 Put -2.493 -0.115 PUT 1.0 0.0
2 COST COST_071720C330 COST Jul 17 2020 330.0 Call -2.383 -2.370 CALL 1.0 0.0
3 COST COST_071720C335 COST Jul 17 2020 335.0 Call 1.587 1.200 CALL 0.0 1.0
4 GLD GLD_071720P151 GLD Jul 17 2020 151.0 Put 0.887 0.015 PUT 0.0 1.0
5 GLD GLD_071720P154 GLD Jul 17 2020 154.0 Put -1.413 -0.020 PUT 1.0 0.0
6 GLD GLD_071720C169 GLD Jul 17 2020 169.0 Call -1.583 -1.655 CALL 1.0 0.0
7 GLD GLD_071720C172 GLD Jul 17 2020 172.0 Call 1.137 0.450 CALL 0.0 1.0
解决方案
下面的代码应该给你你想要的。
df.loc[df['shortQuantity'] < df['longQuantity'],'averagePrice'] = df['averagePrice'] * -1
推荐阅读
- c# - 访问父c#实体框架的子表时列名无效
- rt - 删除附件以减少磁盘空间
- python - 错误问题“系列的真值不明确。使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()。”
- c# - Vbs 脚本可以在 CMD 中正常工作,但在代码中不能正常工作
- c# - 如何在 C# 中合并列表中的日期范围
- java - Spring Data JPA Map Query Params with JPA Query 从 Postgresql 检索记录
- python - python django中的基本组层次结构
- mongodb - 无法连接到 abcd:27017,在(轮询后检查套接字是否有错误),原因:连接被拒绝
- c++builder - bcc32c 不保存在 staticobjs 文件夹中
- mysql - 在没有结果的查询中使用 sum() 时返回 null