我对Python非常陌生,我不明白为什么会发生这种错误。 以下是我编写的代码:
var_1 = pd.DataFrame({'Vcond':[], 'Rsquared':[]})
for j in clim :
varj = Cmean.loc[j][j]
varz = Cmean.loc['Zi']['Zi']
covzj = Cmean.loc['Zi'][j]
B = np.linalg.inv(varj.to_numpy())
Vcondj = varz-covzj @ B @ covzj
Rsquared = (varz - Vcondj)/varz
var_1.loc[j]={'Vcond': Vcondj, 'Rsquared': Rsquared}
print(var_1)
错误是:
AttributeError: 'numpy.float64' object has no attribute 'to_numpy'
我的老师说用.to_numpy()这个方法来计算矩阵的逆,但它似乎不起作用。任何帮助都将不胜感激
对于我从另一个问题中剩下的
df
数据帧:查看连续的
loc
索引步骤如何给出一个Series
和一个数值dataframe的
to_numpy
方法生成一个2d数组:应用于该系列,我们得到一个1d阵列:
但正如你的错误所显示的,就是这样。np.float
object does not have a
to_numpymethod. It already is a
numpy`对象在编写这样的代码时,您应该知道每个步骤生成的对象类型。并准备好测试这些知识。错误的猜测会产生错误
varj
似乎属于numpy.float64
类型,因此无法再将其转换为numpy数据类型。由于您提到要使用to_numpy
来反转矩阵,因此您可能希望将其应用于数据帧相关问题 更多 >
编程相关推荐