python - 用 Pandas 计算矩阵的逆

标签 python pandas numpy matrix

我有一个很大的 pandas.DataFrame - 它是一个带有标题和索引的方阵,我正在尝试使用 pandas 的功能来计算该矩阵的逆矩阵,而不是直接通过 numpy。

我想留在 pandas 框架内以保留我的数据框的标题。我可以使用 pandas.as_matrix()函数,但这会将它变成一个 ndarray,我丢失了标题提供的所有信息。

有什么建议吗?

最佳答案

考虑数据框 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

关于python - 用 Pandas 计算矩阵的逆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40858835/

相关文章:

python - Pandas:使用变量从变量名称创建具有一行和一列名称的数据框

python - 是否有一个 Python 持久数据存储具有与 dict 相同的功能(或者如何哄骗 "Shelve"来获得它)?

python - pandas 0.13 read_excel 新格式

python - Go语言创建排列

python - 基于pandas dfs中的部分字符串匹配进行合并

python - 如何在 Python 中对字符串进行交叉乘法?

python - 如何删除链接的开头并在python中添加正斜杠

python - 将 TIFF 转换为 numpy 数组

python - 集成 Qt Designer 和 PyCharm

python - n 球坐标系到笛卡尔坐标系