给下列代码写注释

3.1 不同小时的销售情况

data_112['hour'] = data_112['下单时间'].dt.hour # 添加一列“小时”到data_112数据框中 num = data_112[['hour', 'income', 'weekday']].groupby(['weekday', 'hour', ]).sum() # 按照星期和小时进行分组,计算销售额和 num = num.unstack().fillna(0) # 将星期和小时进行交叉,缺失值填充为0

for i in num.index: # 对于num数据框的每一行 plt.plot(range(24), num.loc[i, :]) # 绘制24小时销售额曲线 plt.legend(num.index) # 添加图例 plt.show() # 显示图像

3.2 不同日期的销售情况

data2['date'] = data2['下单时间'].dt.date # 添加一列“日期”到data2数据框中 data2['income'] = data2['总金额(元)'] - data2['退款金额(元)'] # 添加一列“收入”到data2数据框中 num = data2[['date', 'income']].groupby('date').sum().sort_index() # 按照日期进行分组,计算销售额和并按照日期排序

plt.plot(num.index, num) # 绘制销售额随日期变化的曲线 plt.xticks(num.index[::8], num.index[::8], rotation=90) # 设置x轴刻度,每8个日期显示一次,旋转90度 plt.show() # 显示图像

3.3 不同星期的销售情况

data2['weekday'] = data2['下单时间'].dt.weekday # 添加一列“星期几”到data2数据框中 num = data2[['weekday', 'income']].groupby('weekday').sum().sort_index() # 按照星期进行分组,计算销售额和并按照星期排序 num = num.loc[[0,1,2,3,4,5,6],:] # 只保留星期一到星期日的数据

plt.plot(num.index, num) # 绘制销售额随星期变化的曲线 plt.xticks(num.index, num.index, rotation=90) # 设置x轴刻度,旋转90度 plt.show() # 显示图像

3.4 分析城市销售情况

num = data2[['city', 'income']].groupby('city').sum().sort_values('income') # 按照城市进行分组,计算销售额和并按照销售额排序 plt.barh(num.index,num['income']) # 绘制水平条形图 plt.show() # 显示图像

绘制地理图表展示城市之间的空间关系

from pyecharts.charts import Geo, Map # 导入Geo和Map类 import pyecharts.options as opts # 导入options模块 from pyecharts.globals import ChartType # 导入ChartType类

( Geo() # 创建Geo实例 .add_schema(maptype='广东') # 添加地图类型 .add('', [(i, int(j)) for i,j in zip(num.index, num['income'])], # 添加城市和销售额 type_=ChartType.EFFECT_SCATTER) # 设置图表类型为散点图 .set_series_opts(label_opts=opts.LabelOpts(is_show=False)) # 设置标签选项 .set_global_opts( title_opts=opts.TitleOpts(title='各个城市销售量情况', subtitle='2018/4-2018/9'), # 设置标题选项 visualmap_opts=opts.VisualMapOpts(max_=max(num.max()), is_piecewise=True) # 设置视觉映射选项 ) ).render('./各个城市销售量情况.html') # 生成HTML文件

绘制地理图表展示不同月份不同城市之间的空间关系

from pyecharts.charts import Geo, Timeline # 导入Geo和Timeline类

data2['month'] = data2['下单时间'].dt.month # 添加一列“月份”到data2数据框中 num = data2[['month', 'income', 'city']].groupby(['month', 'city']).sum() # 按照月份和城市进行分组,计算销售额和 num2 = num.unstack() # 将月份和城市进行交叉 num2 = num2.fillna(0) # 缺失值填充为0

tmp = {} for i in range(4, 10): # 对于4到9月份的数据 num = num2.loc[i, :] # 取出该月份的数据 tmp[i] = ( Geo() # 创建Geo实例 .add_schema(maptype='广东') # 添加地图类型 .add('', [(i[1], int(j)) for i, j in zip(num.index, list(num.values))], # 添加城市和销售额 type_=ChartType.EFFECT_SCATTER) # 设置图表类型为散点图 .set_series_opts(label_opts=opts.LabelOpts(is_show=False)) # 设置标签选项 .set_global_opts( title_opts=opts.TitleOpts(title='各个城市销售量情况', subtitle='2018/4-2018/9'), # 设置标题选项 visualmap_opts=opts.VisualMapOpts(max_=max(num2.max()), is_piecewise=True) # 设置视觉映射选项 ) )

tl = Timeline() # 创建Timeline实例 for i in range(4, 10): # 对于4到9月份的数据 tl.add(tmp[i], str(i)+'月') # 添加地图和时间

tl.render('./各个城市销售量情况(含时间轴).html') # 生成HTML文件

3.5销售额环比

计算周的销售额环比

data2['week'] = data2['下单时间'].dt.week # 添加一列“周数”到data2数据框中

1 计算每一周的销售额

tmp = data2[['week','income']].groupby('week').sum()

2 计算销售额环比: (本期销售额-上期销售额)/上期销售额

t2 = tmp.diff().iloc[1:, :] # 计算相邻两周之间的销售额增长率 t2.index = tmp.index[:-1 ] # 将索引改为上一周的索引 num = t2/tmp # 计算销售额的周环比

可视化:双Y轴图像

fig = plt.figure(figsize=(6, 4)) ax1 = fig.add_subplot(111) # 添加子图 ax1.bar(tmp.index, tmp['income']) # 绘制每周的销售额 ax1.set_ylabel('收入') ax1.set_xlabel('周数') ax1.set_title('自动售货机收入趋势图')

ax2 = ax1.twinx() # 添加第二个

给下列代码写注释data_112hour = data_112下单时间dthournum = data_112hour income weekdaygroupbyweekday hour sumnum = numunstackfillna0for i in numindex pltplotrange24 numloci pltlegendnumindexpltshow# 不同日期的销售情况d

原文地址: https://www.cveoy.top/t/topic/fbk4 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录