Python n x n数据帧到矩阵(.as_矩阵将在未来版本中删除)

Python n x n数据帧到矩阵(.as_矩阵将在未来版本中删除),python,dataframe,matrix,Python,Dataframe,Matrix,我必须将df2转换成矩阵以进行矩阵乘法 df = pd.DataFrame({'From':['a','b','c','a','d'], 'To':['b', 'c', 'a', 'd', 'e'], 'Rates':[1e-4, 2.3e-2, 1e-2, 100, 70]}) df2 = df.pivot(index="From", columns="To", values="Rates") full_index = df2.index.union(df2.columns) df2 =

我必须将
df2
转换成矩阵以进行矩阵乘法

df = pd.DataFrame({'From':['a','b','c','a','d'], 'To':['b', 'c', 'a', 'd', 'e'], 'Rates':[1e-4, 2.3e-2, 1e-2, 100, 70]})

df2 = df.pivot(index="From", columns="To", values="Rates")

full_index = df2.index.union(df2.columns)

df2 = df2.reindex(labels=full_index, axis=0).reindex(labels=full_index, axis=1).fillna(0.0)

df2
Out[21]: 
      a       b      c      d     e
a  0.00  0.0001  0.000  100.0   0.0
b  0.00  0.0000  0.023    0.0   0.0
c  0.01  0.0000  0.000    0.0   0.0
d  0.00  0.0000  0.000    0.0  70.0
e  0.00  0.0000  0.000    0.0   0.0

有没有另一种方法可以将一个nxn数据帧转换成一个矩阵,在将来也可以使用?
df2.to_numpy()
是一样的吗?

不要在上面加太细的一点,而是从警告中说:“……使用.values。”看起来很清楚。开枪吧,你是对的。我尝试了.values()而不是.values。谢谢。您可以通过
df_LHS.dot(df_RHS)
在pandas中进行矩阵乘法。
df2.as_matrix()
__main__:1: FutureWarning: Method .as_matrix will be removed in a future version. Use .values instead.
Out[22]: 
array([[0.0e+00, 1.0e-04, 0.0e+00, 1.0e+02, 0.0e+00],
       [0.0e+00, 0.0e+00, 2.3e-02, 0.0e+00, 0.0e+00],
       [1.0e-02, 0.0e+00, 0.0e+00, 0.0e+00, 0.0e+00],
       [0.0e+00, 0.0e+00, 0.0e+00, 0.0e+00, 7.0e+01],
       [0.0e+00, 0.0e+00, 0.0e+00, 0.0e+00, 0.0e+00]])