I need all possible combinations of multiplications.
If I do this manually, it is giving a decimal number, but in this
If I do this manually, it is giving a decimal number, but in this
loop all values are coming out to be 0. Please let me know where is it going wrong.import numpy as np
import pandas as pd
q= {0: 0.52, 1: 0, 2: 0.46, 3: 0.02}
df6= {0: (pd.DataFrame(np.array([[ 0.77 , 0 , 0.04 , 0.12],
[0.00, 0, 0.00, 0.00],
[0.26, 0 ,0.35 ,0.30],
[0.00 , 0, 0.00 , 1.00]]), index= [0,1,2,3],columns= [0,1,2,3])),
1: (pd.DataFrame(np.array([ [ 0.92, 0.08 ,0.0 ,0.00],
[0.00 , 0.75 , 0.0 , 0.25],
[0.67 ,0.33, 0.0 ,0.00],
[0.18, 0.82 ,0.0 , 0.00]]),index= [0,1,2,3],columns= [0,1,2,3])),
2: (pd.DataFrame(np.array([[ 0.59 , 0.0 ,0 , 0.03],
[0.00 ,0.0 , 0 ,0.76],
[0.00, 0.0, 0 , 0.00],
[0.00 , 1.0 ,0, 0.00]]),index= [0,1,2,3],columns= [0,1,2,3])),
3:(pd.DataFrame(np.array([[ 0.32 ,0.68 , 0.0, 0.00],
[0.00, 1.00, 0.0 , 0.00],
[0.56 , 0.44 ,0.0 ,0.00],
[0.07 ,0.79 , 0.0 ,0.14]]),index= [0,1,2,3],columns= [0,1,2,3])),
4:(pd.DataFrame(np.array( [[0.12, 0.25, 0, 0.38],
[0.09 , 0.28 ,0 , 0.44],
[0.00 ,0.00 , 0 ,0.00],
[0.00, 0.50, 0 ,0.50]]),index= [0,1,2,3],columns= [0,1,2,3]))}
from collections import Counter
t={}
high={}
for qq in range(4096):
for i in range(4):
for j in range(4):
for k in range(4):
for l in range(4):
for m in range(4):
for n in range(4):
t[qq]=q[i]*df6[0].loc[i,j]*df6[1].loc[j,k]*df6[2].loc[k,l]*df6[3].loc[l,m]*df6[4].loc[m,n]
k = Counter(t)
high = k.most_common(5)
print(high)
