gpt4 book ai didi

Python Pandas 矩阵乘法 多项运算合二为一

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

我正在尝试使用 pandas 矩阵乘法。我有四个步骤

  1. 通过将 2500 列除以 2500 列创建 2500 个新列
  2. 使用上面的结果并从所有列中减去 1
  3. 使用第 2 点的结果,将所有 2500 列除以 1 列
  4. 使用第 3 点的结果,向所有 2500 添加 1 列

有没有办法可以更好地编写这个代码,也许用一行代码?目前它的速度相当慢,并且 CPU 占用很大。

代码片段如下:

df_baseScenario[end_columns+ "fwd_rate"] =  df_baseScenario[start_columns].divide(df_baseScenario[end_columns].values,axis=0)
df_baseScenario[end_columns+ "fwd_rate"] = df_baseScenario[end_columns+ "fwd_rate"].subtract(1)
df_baseScenario[end_columns+ "fwd_rate"] = df_baseScenario[end_columns+ "fwd_rate"].multiply(1/df_baseScenario['Calc_Period'].values,axis=0)
df_baseScenario[end_columns+ "fwd_rate"] = df_baseScenario[end_columns+ "fwd_rate"].add(df_baseScenario['Rate Index Spread'].values,axis=0)

最佳答案

为了使其更短且更具可读性,您可以按如下方式使用链接:

df = df_baseScenario
df["fwd_rate"] = df[start_cols] \
.divide(df[end_cols].values, axis=0) \
.subtract(1) \
.multiply(1/df['Calc_Period'], axis=0) \
.add(df['Rate Index Spread'], axis=0)

关于Python Pandas 矩阵乘法 多项运算合二为一,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41444455/

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