create matrix structure using pandas
<p>I have loaded the below CSV file containing code and coefficient data into the below dataframe df: </p>

<pre><code>CODE|COEFFICIENT  
A|0.5  
B|0.4  
C|0.3

import pandas as pd
import numpy as np
df= pd.read_csv('cod_coeff.csv', delimiter='|', encoding="utf-8-sig")
</code></pre>

<p>giving</p>

<pre><code>  ITEM   COEFFICIENT  
0    A       0.5  
1    B       0.4  
2    C       0.3  
</code></pre>

<p>From the above dataframe, I need to create a final dataframe as below which has a matrix structure with the product of the coefficients:</p>

<pre><code>     A         B         C        
A   0.25      0.2        0.15  
B   0.2       0.16       0.12  
C   0.15      0.12       0.09
</code></pre>

<p>I am using <code>np.multiply</code> but I am not successful in producing the result.</p>

<p>You want to do the math between a vector and its tranposition. Transpose with <code>.T</code> and apply the matrix <code>dot</code> function between the two dataframes.</p>

<pre><code>df = df.set_index('CODE')

df.T
Out[10]: 
CODE             A    B    C
COEFFICIENT    0.5  0.4  0.3

df.dot(df.T)
Out[11]: 
CODE     A     B     C
CODE                  
A     0.25  0.20  0.15
B     0.20  0.16  0.12
C     0.15  0.12  0.09
</code></pre>

python pandas numpy dataframe