热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

数据分析热力,python热力代码

热力图通过颜色的深浅来表示数据的分布。示例图中规定了颜色越浅则数值越大,那么我们可以一眼就分辨出数据的分布情况,非常方便。新建一个矩阵热力图根据矩阵绘制,所以在绘制热力图之前首

前言

提供的数据:数据

一、什么是热力图?

热力图通过颜色的深浅来表示数据的分布。

示例图中规定了颜色越浅则数值越大,那么我们可以一眼就分辨出数据的分布情况,非常方便。

二、绘制热力图

针对数据提出要求:绘制E地区4月份订单量的热力图,横轴以天为单位,纵轴以小时为单位

加载必要的包

import pandas as pd

import numpy as np

import seaborn as sns #绘制热力图使用

import matplotlib.pyplot as plt

加载数据

path='../data/数据.csv'

f=open(path)

data=pd.read_csv(f)

提取地点和时间

E_data=data[data['地点']=='E']

E_data['支付时间'] = pd.to_datetime(E_data['支付时间'])

month_data=E_data[E_data['支付时间'].dt.mOnth==4]

分组计算订单量

order_quantity_group=month_data.groupby([month_data['支付时间'].dt.day,month_data['支付时间'].dt.hour]).size()

以天和小时为分组依据分组,size()函数表示数据个数,即为订单量。结果如下:

由结果可以看出,索引中是我们给出的分组依据,分别是“支付时间的月份”和“小时”,格式是元组类型。

新建一个矩阵

热力图根据矩阵绘制,所以在绘制热力图之前首先把所求数据排列为合适的矩阵。

m=list(map(list,zip(*list(order_quantity_group.index)))) #分离元组,包含天和小时数据

#新建一个矩阵

new_array=np.zeros((30,24)) #30代表天数,24代表小时

for i,j in zip(m[0],m[1]): #m[0]是月份,m[1]是小时

new_array[i-1][j]=order_quantity_group[(i,j)]

绘制热力图

sns.heatmap(new_array.T, annot=True,xticklabels= range(1,32), yticklabels= True, cmap="YlGnBu") #绘制热力图。

plt.title('第4月订单量热力图') #加标题

plt.xlabel("日期") #X轴标签

plt.ylabel("小时") #Y轴标签

plt.show()

f.close()

sns.heatmap为绘制热力图函数。

第一个参数为矩阵数据,由于要求规定横轴是天,纵轴是小时,因此需要做一个转置。

annot参数代表是否在图形中显示数据,若为True,则显示数据,否则只显示颜色。

xticklabels和yticklabels是一组参数,如果为True,则绘制数据框的列名称。 如果为False,不会添加列名,如果列表类型数据,则将这些替代为x轴标签。

cmap可以设置颜色

由图可以看出,E地区销售量集中在中旬,且在一天当中集中在下午。

三、其它问题

参考


推荐阅读
  • web.py开发web 第八章 Formalchemy 服务端验证方法
    本文介绍了在web.py开发中使用Formalchemy进行服务端表单数据验证的方法。以User表单为例,详细说明了对各字段的验证要求,包括必填、长度限制、唯一性等。同时介绍了如何自定义验证方法来实现验证唯一性和两个密码是否相等的功能。该文提供了相关代码示例。 ... [详细]
  • 注意力汇聚:NadarayaWatson 核回归
    Nadaraya-Watson核回归是具有注意力机制的机器学习范例。Nadaraya-Watson核回归的注意力汇聚是对训练数据中输出的加权平均。从注意力的角度来看, ... [详细]
  • 开发笔记:共享单车数据分析
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了共享单车数据分析相关的知识,希望对你有一定的参考价值。共享单车数据分析和共享单车用户行为分析PPT从数据分 ... [详细]
  • 本文介绍了机器学习手册中关于日期和时区操作的重要性以及其在实际应用中的作用。文章以一个故事为背景,描述了学童们面对老先生的教导时的反应,以及上官如在这个过程中的表现。同时,文章也提到了顾慎为对上官如的恨意以及他们之间的矛盾源于早年的结局。最后,文章强调了日期和时区操作在机器学习中的重要性,并指出了其在实际应用中的作用和意义。 ... [详细]
  • Django + Ansible 主机管理(有源码)
    本文给大家介绍如何利用DjangoAnsible进行Web项目管理。Django介绍一个可以使Web开发工作愉快并且高效的Web开发框架,能够以最小的代价构建和维护高 ... [详细]
  • 感谢大家对IT十八掌大数据的支持,今天的作业如下:1.实践PreparedStament的CRUD操作。2.对比Statement和PreparedStatement的大批量操作耗时?(1 ... [详细]
  • 一、Struts2是一个基于MVC设计模式的Web应用框架在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。Struts2优点1、实现 ... [详细]
  • pythonMatplotlib(二)
    Matplotlib+pandas作图一、对csv文件进行提取ruixi.csv对上述表格进行提取并做图画出图像二、对.xlsx进行提取:rui ... [详细]
  • MVC中的自定义控件
    怎么样创建自定义控 ... [详细]
  • 动量|收益率_基于MT策略的实战分析
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了基于MT策略的实战分析相关的知识,希望对你有一定的参考价值。基于MT策略的实战分析 ... [详细]
  • MVC下Log4Net的配置和使用
    MVC下Log4Net的配置和使用对于网站来讲,我们不能将异常信息显示给用户,Log4Net用来记录日志,可以将程序运行过程中的信息输出到文件,数据库中等地方,可以通过日志查看系统的运行过程,发现系 ... [详细]
  • 从零基础到精通的前台学习路线
    随着互联网的发展,前台开发工程师成为市场上非常抢手的人才。本文介绍了从零基础到精通前台开发的学习路线,包括学习HTML、CSS、JavaScript等基础知识和常用工具的使用。通过循序渐进的学习,可以掌握前台开发的基本技能,并有能力找到一份月薪8000以上的工作。 ... [详细]
  • Asp.net Mvc Framework 七 (Filter及其执行顺序) 的应用示例
    本文介绍了在Asp.net Mvc中应用Filter功能进行登录判断、用户权限控制、输出缓存、防盗链、防蜘蛛、本地化设置等操作的示例,并解释了Filter的执行顺序。通过示例代码,详细说明了如何使用Filter来实现这些功能。 ... [详细]
  • 本文介绍了ASP.NET Core MVC的入门及基础使用教程,根据微软的文档学习,建议阅读英文文档以便更好理解,微软的工具化使用方便且开发速度快。通过vs2017新建项目,可以创建一个基础的ASP.NET网站,也可以实现动态网站开发。ASP.NET MVC框架及其工具简化了开发过程,包括建立业务的数据模型和控制器等步骤。 ... [详细]
  • 关于extjs开发实战pdf的信息
    本文目录一览:1、extjs实用开发指南2、本 ... [详细]
author-avatar
陈协莹隆心
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有