Python 将数据帧转换为int32 numpy矩阵
今天我有一个问题,我想很简单,但在网上找不到任何解决方案。我正在使用一个来自Excel的数据框架。这是一个110x110的数据帧,只包含数字,我想把它变成一个矩阵,我可以使用它。 首先,我尝试了这个:Python 将数据帧转换为int32 numpy矩阵,python,pandas,numpy,matrix,Python,Pandas,Numpy,Matrix,今天我有一个问题,我想很简单,但在网上找不到任何解决方案。我正在使用一个来自Excel的数据框架。这是一个110x110的数据帧,只包含数字,我想把它变成一个矩阵,我可以使用它。 首先,我尝试了这个: W_t=df_t.as_matrix 但后来我读到这将数据帧转换为numpy数组,因此我尝试将数组转换为矩阵: w_t=np.asmatrix(W_t) 它说它是一个numpy矩阵,但在变量浏览器中它显示为1x1对象,不接受任何矩阵运算。当我从头开始创建矩阵时,请说: b=np.matrix(
W_t=df_t.as_matrix
但后来我读到这将数据帧转换为numpy数组,因此我尝试将数组转换为矩阵:
w_t=np.asmatrix(W_t)
它说它是一个numpy矩阵,但在变量浏览器中它显示为1x1对象,不接受任何矩阵运算。当我从头开始创建矩阵时,请说:
b=np.matrix([[1,2],[3,4]])
它显示为2x2 int32。那么,有没有一种方法可以将我的数据帧转换成一个有用的矩阵?我只想得到这个表达式:
B = inv(I-w_t)
但以w_t的实际形式,我得到了这个错误:
TypeError: unsupported operand type(s) for -: 'float' and 'method'
有什么建议吗?
提前感谢大家。如文档所述,
pandas.DataFrame.As_matrix
将pandas数据帧转换为numpy数组,而不是矩阵。但是,此函数已被弃用。相反,请尝试以下方法
import numpy as np
import pandas as pd
matrix = np.asmatrix(df_t.values)
df\u t.as\u矩阵
属于方法
类型。您需要调用该方法将其转换为矩阵。这就是你犯错误的原因。用法:df_t.as_matrix()
insteadIt也无助于as_matrix
被弃用