协助熊猫计算问题

时间:2019-06-22 13:03:53

标签: python pandas

我正在尝试从excel文件中计算值列表的RMS,但是出现问题,请参见以下错误消息。

Screenshot of the error

我的代码如下

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

有人可以帮助我吗?

任何帮助将不胜感激

1 个答案:

答案 0 :(得分:2)

所以您想要数据框列的均方根误差吗?

  1. 获取值:
  

second_column = dataframe.iloc [:, 2] .astype(“ float”)

  1. 计算均值:
  

mean = second_column.mean()

  1. 计算mse并扎根:
  

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不是数组,而是单个值,因此列表理解不会帮助您。