数据框中特定列的乘法[重复]

问题描述 投票:0回答:1

这个问题在这里已有答案:

我有两个数据帧,即shares和Log_Returns。我想将第一位数的股票乘以第一列Log_Returns。第二列的第二位数字,依此类推。

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

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

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
python python-3.x python-2.7 dataframe python-responses
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])
© www.soinside.com 2019 - 2024. All rights reserved.