数据帧中特定列的乘法

时间:2019-03-26 21:33:25

标签: python python-3.x python-2.7 dataframe python-responses

我有两个数据帧,即share和Log_Returns。我想将份额的第一位数乘以Log_Returns的第一列。第二列的第二位数,依此类推。

我尝试了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

1 个答案:

答案 0 :(得分: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])