因为一些看起来很简单的错误。如有帮助,不胜感激。在
finaltbl是一个pandas df,包含col1prelin、col2prelin和col3prelin,其值在浮点格式中介于0和1之间。在
finaltbl['col1'] = np.nan
finaltbl['col2'] = np.nan
finaltbl['col3'] = np.nan
coldict = {'col1':'col1prelim', 'col2':'col2prelim', 'col3':'col3prelim'}
for k, v in coldict.items():
finaltbl.at[0, k] = 1
finaltbl.at[1, k] = np.mean(finaltbl.loc[0, v], finaltbl.loc[1, v])
这将返回TypeError: tuple indices must be integers or slices, not numpy.float64
然而,这是可行的:
^{pr2}$我如何改变我的平均/平均计算以上工作?我需要稍后使用3或4个输入,而不是2,并希望能够使用一个平均公式或类似的东西。在
当你表演的时候numpy.平均值()对于这些值,结果存储在Numpy的内部浮点数不能用作索引器的类型。您需要将变量强制转换为和整数。在
对于标量值,int()很好—这就是您的情况。对于float64 ndarray,需要使用Numpy的astype()方法。在
制作一个小数据帧:
尝试使用
^{pr2}$mean
,显示完整的回溯:请注意,尝试使用axis变量时会发生错误。如果
arr
是numpy数组,那么arr.shape
是一个元组。(1,2,3)[1.0]
将产生相同的错误消息。在来自
np.mean
文档:第一个参数是数组(或者可以组成数组的东西)。第二个是轴值-
None
,一个整数,或者一个整数元组。相反,你给它一个数据帧的元素,显然是一个浮点数。在所以您需要给
np.mean
正确的参数。例如,数据帧元素列表:===
小结:
看看完整的回溯,给我们看看。它可以为错误提供有价值的线索
阅读你使用的函数的文档。
相关问题 更多 >
编程相关推荐