首页 > 解决方案 > Python:添加数据帧时的for循环迭代

问题描述

我有一个具有不同回报的数据框,看起来像:

0.2  -0.1  0.03  0.01
0.02  0.1  -0.1  -0.2
0.05  0.06  0.07 -0.07
0.03 -0.04 -0.04 -0.03

而且我有一个单独的数据框,索引仅在一列中返回:

0.01
0.015
-0.01
-0.02

我想要做的是基本上将索引返回数据帧的每一行值与股票返回数据帧中每一列的每个值相加(+)。

期望的结果如下所示:

0.21  -0.09
0.035  0.115
0.04   0.05
0.01  -0.06 etc etc

例如,通常在 Matlab 中 for 循环会非常简单,但在 python 中,索引是让我陷入困境的原因。我尝试了一个简单的 for 循环:

for i, j in df_stock_returns.iterrows():
    df_new = df_stock_returns[i, j] + df_index_reuturns[j] 

但这并没有真正起作用,任何帮助表示赞赏!

标签: pythonpandasnumpyloops

解决方案


我想最直接的方法会奏效

for c in a.columns:
    a[c] = a[c] + b

>>> a
       0      1      2      3
0  0.210 -0.090  0.040  0.020
1  0.215 -0.085  0.045  0.025
2  0.190 -0.110  0.020  0.000
3  0.180 -0.120  0.010 -0.010

推荐阅读