首页 > 解决方案 > nxn 数据帧到矩阵(.as_matrix 将在未来版本中删除)

问题描述

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

我必须转换df2成矩阵才能进行矩阵乘法。

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]])

是否有另一种方法可以将 anxn 数据帧转换为将来也可以使用的矩阵?是df2.to_numpy()一样的吗?

标签: pythondataframematrix

解决方案


推荐阅读