app开发者平台在数字化时代的重要性与发展趋势解析
1142
2022-10-20
【Python+Flask+Echarts】可视化练习题 ---- 餐饮数据柱状图
文章目录
数据集案例
① 需求② 代码实现
▶ 读取数据集整体浏览▶ 统计每个区不同餐饮类型销售表现▶ 获取每个地区的分类合并数据 ---- 二次优化版▶ 获取每种餐饮类型的信息▶ 可视化
③ 效果展示
数据集
返回顶部
案例
① 需求
通过上一篇的热力图处理的数据集,接下去看看能否绘制条形图来展现不同区域的订餐类型统计情况~
返回顶部
② 代码实现
▶ 读取数据集整体浏览
# 读取数据集data = pd.read_csv("G:\Projects\pycharmeProject-C\Flask\dataset\TakeAway.csv",index_col=0)print(data.isnull().sum())print(data.loc[data.duplicated()])print(data.columns)
大致浏览一下数据集,需求涉及的所在区县、分类字段并没有大量的缺失值(空值),并且数据集整体也没有重复记录,基本可以直接使用。
返回顶部
▶ 统计每个区不同餐饮类型销售表现
# 统计每个区不同餐饮类型销售表现data_area_time = data[['所在区县','分类']].groupby(['所在区县','分类']).agg(count=('分类','count')).reset_index()
通过分组聚合统计出不同地区,不同餐饮类型数据集。观察后发现每个地区的记录有多有少,并且在不同程度上缺失。对后续的热力图数据集传输,对应到坐标点难以操作。
返回顶部
▶ 获取每个地区的分类合并数据 ---- 二次优化版
# 归并所有区域信息def city_info(): city_info = [] for city in citys: # 遍历聚合某一区域的信息 each_city = data.loc[data['所在区县'] == city].groupby(['所在区县', '分类']).agg( count=('分类', 'count')).reset_index().values.tolist() # 补全餐饮类型信息 # 提取当前有的 --- 采取列表推导式 curr_types = [x[1] for x in each_city] # 与全部区域信息比对填补 for classification in classifications: if classification not in curr_types: each_city.append([city, classification, 0]) # print(sorted(each_city,key=lambda x: x[1])) city_info.append(sorted(each_city,key=lambda x: x[1])) return city_infocity_infos = city_info()
返回顶部
▶ 获取每种餐饮类型的信息
# 提取每种餐饮类型的数据df = pd.DataFrame(city_infos)data1 = df[0].values.tolist()data2 = df[1].values.tolist()data3 = df[2].values.tolist()data4 = df[3].values.tolist()data5 = df[4].values.tolist()data6 = df[5].values.tolist()data7 = df[6].values.tolist()all_data = [data1,data2,data3,data4,data5,data6,data7]
返回顶部
▶ 可视化
Flask
# 视图app = Flask(__name__)@app.route("/")def index(): list = city_infos l = all_data return render_template("TakeAway_02.html",list=list,data = l)if __name__ == '__main__': app.run(debug=True)
HTML
返回顶部
③ 效果展示
返回顶部
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~