使用pandas

时间:2016-11-29 06:04:39

标签: python pandas numpy matrix

我有一个大型的pandas DataFrame - 这是一个带有标题和索引的方形矩阵,我正在尝试使用pandas'能够计算该矩阵的逆矩阵,而不是直接通过numpy。

我想留在一个pandas框架中,以保持我的数据帧的标题。我可以使用pd.as_matrix函数,但是把它变成了一个ndarray,我放弃了标题提供的所有信息。

有什么建议吗?

1 个答案:

答案 0 :(得分:15)

考虑数据框df

np.random.seed([3,1415])
df = pd.DataFrame(np.random.rand(3, 3), list('abc'), list('xyz'))
df

enter image description here

计算逆(用numpy,让我们不要疯狂)

df_inv = pd.DataFrame(np.linalg.pinv(df.values), df.columns, df.index)
df_inv

enter image description here

注意我使用pinv作为伪逆

然后检查

df_inv.dot(df)

enter image description here