导入模块
import pandas as pd
import plotly.graph_objects as go
from plotly.subplots import make_subplots
import plotly.express as px
获取数据
df = pd.read_csv(r'./data/coffeeshop.csv')
data_exploration(df)
数据缺失值情况
print('数据缺失值情况:')
df.isnull().sum().to_frame().T.style.set_properties(**{"background-color": "#0d3b66","color":"white","border": "1.5px solid white"})
print(df.isnull().sum().to_frame().T)
数值型特征统计信息
print('数值型特征统计信息:')
df.describe().T.style.set_properties(**{"background-color": "#0d3b66","color":"white","border": "1.5px solid white"})
print(df.describe().T)
非数值型特征统计信息
print('非数值型特征统计信息:')
df.describe(include = 'object').T.style.set_properties(**{"background-color": "#0d3b66","color":"white","border": "1.5px solid white"})
print(df.describe(include = 'object').T)
数据前五行
print('数据前五行:')
df.head().style.set_properties(**{"background-color": "#0d3b66","color":"white","border": "1.5px solid white"})
print(df.head())
数据可视化
数据处理
df.columns = ['门店编号','区域','销售额','利润','顾客数量','平均交易金额','员工数','门店面积','租金','开业日期']
df['门店均价'] = df['租金'] / df['门店面积']
df['利润率%'] = df['利润'] / df['销售额'] * 100
店铺数量、销售额、利润、员工数统计
该连锁咖啡店目前共有100家店铺,716万的销售额,利润总额为383万,员工总数为1084人。
销售额和利润排名
从统计数据可以看到,销售额和利润前三的城市是:南京,徐州和苏州;平均销售额和平均利润最高的是上海。
# 汇总销售额和利润
moneydf = df.groupby(['区域']).agg({'销售额':['sum','mean'],'利润':['sum','mean']}).reset_index()
moneydf = moneydf.sort_values(by = ('销售额','sum'),ascending = False)
平均利润率
平均利润率排名前三城市为:哈尔滨市,大庆市,广州市。
# 计算平均利润率
profitdf = df.groupby(['区域']).agg({'利润率%':'mean'}).reset_index()
profitdf = profitdf.sort_values(by = '利润率%')
profitdf['成本占比%'] = 100 - profitdf['利润率%']
门店均价排名
普洱市的门店均价是最高的,为159.333元/平方米。
housedf = df.groupby('区域').agg({'门店均价':'mean'}).reset_index()
housedf = housedf.sort_values(by = '门店均价')