属性错误:"数据帧"对象没有属性"Kumasi"。我想从Jupyter Notebook中的大数据中计算每个市场的平均销售额



我直接从jupyter笔记本加载了一个csv文件,代码如下:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import os
import seaborn as sns
sns.set()
from sklearn.preprocessing import LabelEncoder
sales_data = pd.read_csv('Buymore_sales_data.csv')
sales_data.head(13801)

我有一个输出,其中一些数据没有显示,尽管输出给出的数据长度为13799行×7列。

链接到输出屏幕截图-销售数据集

然而,我想计算每个市场的平均销售额,因为每个市场出现两次以上。为了实现这一点,我写了这样的代码:

sales_data.Kumasi.Sales.mean()

运行完这个之后,我收到了一条错误消息,称为

-------------------------------------------------------------
AttributeError           Traceback (most recent call last)
Input In [48], in <cell line: 2>()
1 # compute average sales per market
----> 2 sales_data.Kumasi.Sales.mean()
File ~anaconda3libsite-packagespandascoregeneric.py:5575, in 
NDFrame.__getattr__(self, name)
5568 if (
5569     name not in self._internal_names_set
5570     and name not in self._metadata
5571     and name not in self._accessors
5572     and self._info_axis._can_hold_identifiers_and_holds_name(name)
5573 ):
5574     return self[name]
-> 5575 return object.__getattribute__(self, name)
AttributeError: 'DataFrame' object has no attribute 'Kumasi'

请问我能做什么?

  • 首先,我想查看Jupyter Notebook中加载的整个数据集
  • 如果可能的话,我想能够计算每个市场的平均销售额

为了查看整个表格,

pd.set_option('display.max_columns', None)   
pd.set_option('display.max_rows', None)
# Instead of using None, you can specify what actually number you want it to.

用于计算,

sales_data[sales_data['Market'] == 'Kumasi']['Sales'].mean()
# Or
sales_data.query('Market == "Kumasi"')['Sales'].mean()