这个问题是我在一个矩阵计算奇异值分解时出现的报错
- 首先,读入数据,观察数据的形式
data = pd.read_excel(inputf, header=None)
df = data.iloc[1:,:21]
选取我需要的数据
df = df.values
将dataframe格式数据转化为ndarray格式
from numpy import *
u,sigma,vt=linalg.svd(df)
进行奇异值分解发现报错
- 然后观察数据
df
输出数据
发现数据输出时 dtype=object
这时需要将数据格式进行更改
df = np.array(df,dtype='float')
将object改为float
这时再进行奇异值计算
u,sigma,vt=linalg.svd(df)
就能得到结果