将Excel导入numpy以求解线性方程

时间:2015-07-07 15:21:17

标签: python numpy pandas

我在2个Excel文件中有2个矩阵。 A是57x56(第一行是标签),b是57x1。我试图使用python找到Ax = b的解决方案。

我做了什么:

import numpy as np
import pandas as pd
A=pd.read_excel("56x56.xlsx")
b=pd.read_excel("56x1.xlsx")
A=np.matrix(A)
b=np.matrix(b)
x = np.linalg.solve(A, b)

这给了我一个错误" float()参数必须是字符串或数字"。我想知道这是否是因为A中的第一个标签行。如果是这样,那么什么可以解决?

谢谢!

2 个答案:

答案 0 :(得分:1)

没有进一步的知识,我们可以猜测。可能第一行被视为标题。尝试:

A=pd.read_excel("56x56.xlsx",sheet='Sheet1',header = None)

此外,数据应该已经是一个数组。除非您想明确转换它,例如A = A.values

,否则A = np.array(A.values,dtype=float)应该做

答案 1 :(得分:0)

它看起来像你的中间数据结构:

jQuery(document).ready(function() { jQuery(".background").addClass("foo image-1 bar"); setInterval(function() { jQuery("body").toggleClass(function(index, className) { var s = className.split("image-")[1]; var n = s.slice(0, 1); return "image-" + n + " image-" + (n > 3 ? 1 : ++n); }); }, 2000); });

没有做你想要/期望的事情,而是改为:

A=np.matrix(A) b=np.matrix(b)

解决了这个问题。