0

我有两个数据框,即共享和 Log_Returns。我想将第一个数字与 Log_Returns 的第一列相乘。第 2 列的第 2 位股份,依此类推。

我试过 for 循环但没有输出,我也有错误。

我试过这段代码,但没有输出

shares
Out[34]: 
           0
0 -10.466597
1  92.589647
2  17.876951

Log_Return
Out[35]: 
                 UBL      WAHN       SCL
Date                                    
2018-12-26 -0.016651  0.000000  0.000000
2018-12-27 -0.022567 -0.014917  0.045282
2018-12-28 -0.034484  0.000000  0.000000
2018-12-31 -0.044806  0.000000 -0.048742


i=0
        for j in range(Log_Return.shape[1]):
#j chooses the column of Log data frame
#shape[1] gives number of columns
        for k in range(len(Log_Return)):
# k chooses the rows one by one of jth column

             shares.iloc[i,0]*Log_Return.iloc[j,k]
#you can multiply and even store the values or do any operations you want 
        i+=1
#i determines the row of shares data frame

但我得到这个错误

File "<ipython-input-36-ea1f8caa95e5>", line 2
    for j in range(Log_Return.shape[1]):
    ^
IndentationError: unexpected indent
4

1 回答 1

0

正确缩进,这样解释器就知道你有嵌套循环。此外,您可能想要print淘汰产品。

        for j in range(Log_Return.shape[1]):
            i = j
            for k in range(len(Log_Return)):
                print(shares.iloc[i, 0] * Log_Return.iloc[j, k])
于 2019-03-27T02:09:07.217 回答