我有两个数据帧,即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
答案 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])