python - 创建新行并插入多重计算的最大值
问题描述
我正在尝试编写代码来帮助我的投资。我想做的是找到一家公司的多余现金
我的数据框是这样的:
df = pd.DataFrame(data=[2304009, 268860, 818937], index=['sales', 'cash', 'financial instument'], columns=['target'])
“多余现金”的公式是这样的:
max(0, 'cash' + 'financial instument' - 'sales'*0.2)
到目前为止,我能用我所有的超能力做的是:
df.loc['Excess Cash'] = df.loc['cash'] + df.loc['financial instument'] - df.loc['sales']*0.2
但我不能做最大值(0,我得到的数字)并将这个数字放在“多余现金”行中
提前致谢!
解决方案
用于numpy.maximum
一个元素的最大值Series
和标量:
s = df.loc['cash'] + df.loc['financial instument'] - df.loc['sales']*0.2
df.loc['Excess Cash'] = np.maximum(0, s)
您可以使用另一个值对其进行测试,例如:
s = df.loc['cash'] + df.loc['financial instument'] - df.loc['sales']*0.2
df.loc['Excess Cash'] = np.maximum(1000000, s)
print (df)
target
sales 2304009.0
cash 268860.0
financial instument 818937.0
Excess Cash 1000000.0
推荐阅读
- ios - YGEnums.h:75:44:枚举器“YGDisplayNone”的重新定义
- websphere - 使用 Spring MVC 和 tomcat 配置 Ibm App Id
- robotframework - Eclipse RED 和 CMD pip 列表中的 seleniumlibrary 版本不匹配
- reactjs - NotFoundError:无法在“节点”上执行“removeChild”:要删除的节点不是该节点的子节点。吐司和活动经理
- amazon-web-services - 可以对通过 terraformer 生成的文件运行 terraform 命令
- python - 属性和参数 - 差异和使用
- excel - 如果我从下拉列表中选择值,那么我想将特定值从工作簿 1 复制到特定单元格中的另一个工作簿 2
- git - 如何检测文件是否是子模块的一部分,如果是,是哪个子模块?
- jestjs - 在 Jest 中跟踪对未公开函数的调用
- asp.net-core - 在 Asp Net Core 中,我是否必须为 Get 和 Post 方法设置 [Authorize] 的属性?