我正在尝试从名为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'
这很混乱,因为对象的dtype
是int64
,并且在检查类型时表明它是熊猫系列。数据样本如下:
train.hour
Out[14]:
1 0
2 0
3 23
4 24
5 35
6 36
我不知道列表在哪里,为什么它不能在这里计算均值。关于错误意味着什么的任何想法?
谢谢。
答案 0 :(得分:1)
您似乎放错了括号。在您的行尾附近,该代码段:
['hour'].mean()
试图获取mean
中的['hour']
,即一个具有list
类型的单个元素的str
。因此,按照惯例,您会得到AttributeError
。
试想一下,如果这行代码无声地失败而不是引发提示性错误:您在最终结果中看到的那种垃圾将是令人着迷的。