由于不存在列表,因此计算平均值时出错

时间:2019-01-22 10:13:46

标签: python pandas numpy

我正在尝试从名为hour的pandas DataFrame df中的称为train的整数列中计算平均小时分数。

用于计算的代码如下:

hourly_frac = train.groupby(['hour']).mean()/np.sum(train.groupby(['hour'].mean()))

正在关注FB先知教程https://www.analyticsvidhya.com/blog/2018/05/generate-accurate-forecasts-facebook-prophet-python-r/

但是,当尝试运行此代码时,出现以下错误:

AttributeError: 'list' object has no attribute 'mean'

这很混乱,因为对象的dtypeint64,并且在检查类型时表明它是熊猫系列。数据样本如下:

train.hour Out[14]:
1 0 2 0 3 23 4 24 5 35 6 36

我不知道列表在哪里,为什么它不能在这里计算均值。关于错误意味着什么的任何想法?

谢谢。

1 个答案:

答案 0 :(得分:1)

您似乎放错了括号。在您的行尾附近,该代码段:

['hour'].mean()

试图获取mean中的['hour'],即一个具有list类型的单个元素的str。因此,按照惯例,您会得到AttributeError

试想一下,如果这行代码无声地失败而不是引发提示性错误:您在最终结果中看到的那种垃圾将是令人着迷的。