result7 = result.groupby('price_cut').new_comment.sum().reset_index(name='total_comment') plt.figure(figsize=(12,8)) size = result7['total_comment'] labels = result7['price_cut'] plt.pie(size,labels=labels, autopct='%.2f%%',pctdistance=0.8,explode=[0,0,0,0,0.5,0.5,0.5,0.5,0.5]) plt.title('不同价格区间累计成交量',loc='left',fontsize=16) plt.axis('equal') plt.show()AttributeError Traceback (most recent call last) Cell In[131], line 1 ----> 1 result7 = result.groupby('price_cut').new_comment.sum().reset_index(name='total_comment') 2 plt.figure(figsize=(12,8)) 3 size = result7['total_comment'] File D:\大学\大二下\python\install\Lib\site-packages\pandas\core\groupby\groupby.py:952, in GroupBy.__getattr__(self, attr) 949 if attr in self.obj: 950 return self[attr] --> 952 raise AttributeError( 953 f"'{type(self).__name__}' object has no attribute '{attr}'" 954 ) AttributeError: 'DataFrameGroupBy' object has no attribute 'new_comment'
时间: 2023-12-31 17:05:53 浏览: 346
这个错误提示说明在 `result.groupby('price_cut')` 返回的 `DataFrameGroupBy` 对象中没有名为 `new_comment` 的列。根据你之前提供的 `result` 数据框的列名,你可以将代码中的 `.new_comment` 改为 `.comment`,因为你想要统计的是每个价格区间中商品的评价数量,而 `comment` 列存储了商品的评价信息。修改后的代码应该是这样的:
```
result7 = result.groupby('price_cut').comment.sum().reset_index(name='total_comment')
```
这个代码将会统计 `result` 数据框中每个价格区间中商品的评价数量,并保存在 `result7` 数据框的 `total_comment` 列中。你可以继续使用这个数据框进行绘图和计算。
相关问题
代码12如下result7 = result.groupby('price_cut').new_comment.sum().reset_index(name='total_comment') plt.figure(figsize=(12,8)) size = result7['total_comment'] labels = result7['price_cut'] plt.pie(size,labels=labels, autopct='%.2f%%',pctdistance=0.8,explode=[0,0,0,0,0.5,0.5,0.5,0.5,0.5]) plt.title('不同价格区间累计成交量',loc='left',fontsize=16) plt.axis('equal') plt.show()五六行报错ValueError: need at least one array to concatenate <Figure size 1200x800 with 1 Axes>
这段代码的问题在于,result7没有被正确地赋值为groupby操作后的结果。可以尝试打印出result7来查看它的值是否正确。此外,报错信息中提到了“need at least one array to concatenate”,这可能是因为在代码的其他部分使用了concatenate函数,但是缺少了数组作为参数。具体解决方法需要进一步检查代码。
阅读全文