我正在尝试从excel文件中计算值列表的RMS,但是出现问题,请参见以下错误消息。
我的代码如下
path = (r'BusTest.xlsx')
second_column = dataframe.iloc[:, 2]
line_count = 0
for row in second_column:
rms = [math.sqrt(((sum(float(x) * 9.8) * (float(x) * 9.8)) for x in second_column) / second_column(len))]
错误状态:
TypeError: 'Series' object is not callable
有人可以帮助我吗?
任何帮助将不胜感激
答案 0 :(得分:2)
所以您想要数据框列的均方根误差吗?
second_column = dataframe.iloc [:, 2] .astype(“ float”)
mean = second_column.mean()
n_values = len(second_column)
mse = sum(((second_column-mean)** 2)/(n_values-1)
rmse = np.sqrt(mse)
N.B。:
就您得到的错误而言:熊猫系列不是一个可迭代的对象,而是一个对象。如果您使用该对象中包含的值,那么自己得到一个可迭代的对象,则可以在for循环中使用它;例如second_column.values是可迭代的
系列的RMSE不是数组,而是单个值,因此列表理解不会帮助您。