Python超市电商数据分析(一)
数据源概况:
本案例将对某大型超市的零售数据进行数据分析,通过了
解运营状况,做出合理的决策。详细字段是:
Row ID:行编号;
Order ID:订单ID;
Order Date:订单日期;
Ship Date:发货日期;
Ship Mode:发货模式;
Customer ID:客户ID;
Customer Name:客户姓名;
Segment:客户类别;
City:客户所在城市;
State:客户城市所在州;
Country:客户所在国家;
Postal Code:邮编;
Market:商店所属区域;
Region:商店所属州;
Product ID:产品ID;
Category:产品类别;
Sub-Category:产品子类别;
Product Name:产品名称;
Sales:销售额;
Quantity:销售量;
Discount:折扣;
Profit:利润;
Shipping Cost:发货成本;
Order Priority:订单优先级;
读取文件
# 加载数据分析需要使用的库
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
plt.rcParams['font.sans-serif'] = ['SimHei']
warnings.filterwarnings('ignore')
#数据加载和整合
# 加载零售数据集,使用'ISO-8859-1'编码方式
df = pd.read_csv('E:/market.csv',encoding='ISO-8859-1')
df.head()
#数据大小
df.shape
#数据分布情况
df.describe()
market.csv部分数据如下:
读取、清洗数据:
- 使用pandas的read_csv读取数据后,查看各列数据的空值情况,发现Postal Code字段(邮编字段)有空值,而且这一列不重要,所以首先删除掉Postal Code列;
#重命名列名
df.rename(columns = lambda x: x.replace(' ', '_').replace('-', '_'), inplace=True)
#1.查看各列数据的空值情况,发现Postal Code字段(邮编字段)有空值,而且这一列不重要,所以首先删除掉Postal Code列;
#查看缺失值
df.isnull().sum(axis=0)
#删除邮编信息列
df.drop(["Postal_Code"],axis=1, inplace=True)
- 使用DataFrame对象的describe()方法,没有发现异常数
据,所以,不必处理;
df.describe()
- 将Order Date订单日期字段的数