我已将包含代码和系数数据的以下CSV文件加载到以下数据框df:
中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")
给
ITEM COEFFICIENT
0 A 0.5
1 B 0.4
2 C 0.3
从上面的数据框中,我需要创建一个如下所示的最终数据帧,它具有一个矩阵结构,其中包含系数的乘积:
A B C
A 0.25 0.2 0.15
B 0.2 0.16 0.12
C 0.15 0.12 0.09
我正在使用np.multiply
,但我没有成功产生结果。
答案 0 :(得分:4)
你想在矢量和它的转换之间进行数学运算。使用.T
进行转置,并在两个数据帧之间应用矩阵dot
函数。
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
答案 1 :(得分:4)