首先导入pandas,读取Excel文件中的数据为data:
import pandas as pd data = pd.read_excel(r'E:JupyterStudy超市.xls')
查看前五行数据:
data.head()
查看各列的数据类型,是否为空值:
去除列名中的空格和斜杠,以便后面引用时不会报错:
data = data.rename(columns = lambda x:x.replace(" ","").replace("/",""))
检查去除后的列名:
data.columns
查看订单总数,输出结果为2773,说明数据源中1000条商品交易数据包含在这2773个订单中:
len(data.订单ID.unique())
用describe查看汇总统计集合,从结果可以得出,销售额均值为1611.75,利润均值为215.655,销售额最高为35621.35,最低为13.44,利润最高为10108.28,最低为-7978.32,接下来查看具体是什么商品:
查看利润最低的前五行,可以看出,这些利润出现了极高的负值,说明这些商品存在亏损十分严重,应当查找分析亏损的原因。
data.sort_values(by = '利润').head()
查看利润最高的前五行
data.sort_values(by = '利润',ascending = False).head()
查看各省自治区商品交易数量,输出前五名,可以看出,山东省商品交易数量是最高的,其次是广东和辽宁,前五名当中大都属于沿海省份:
data.省自治区.value_counts().head() 山东 914 广东 836 辽宁 668 黑龙江 655 江苏 583 Name: 省自治区, dtype: int64
查看各省自治区商品交易数量,输出后五名,可以看出,西藏是交易数量最少的省份,其次是青海和宁夏,从地理位置上看,后五名省份大多属于西部不发达地区,由此推测与当地经济发展水平和物流服务相关。
data.省自治区.value_counts(ascending = True).head() 西藏 10 青海 21 宁夏 38 新疆 39 海南 65 Name: 省自治区, dtype: int64
设置显示图片,解决Jupyter输出图表中文是方块的问题:
%matplotlib inline plt.rcParams['font.sans-serif'] = ['SimHei'] plt.rcParams['axes.unicode_minus'] = False
绘制各省自治区交易数量的条形图,按照从高到低显示:
data.省自治区.value_counts().plot.bar()
绘制各省自治区销售额和利润堆积图,从图中可以看出,内蒙古、四川、江苏、浙江、湖北、甘肃、辽宁几个省份的利润为负,山东、广东、黑龙江销售额在全国各省中相对较高,利润也较高:
grouped_p[['销售额','利润']].agg('sum').plot.bar(stacked=True,title = '各省自治区销售额和利润堆积图')



