项目分析_流程分析|学习笔记

简介: 快速学习项目分析_流程分析

开发者学堂课程【大数据 Spark2020版(知识精讲与实战演练)第四阶段 项目分析_流程分析】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/691/detail/12106


项目分析_流程分析


流程分析

内容:陌生环境下拿到一个需求,如何一步步规划步骤

流程分析:

第一步分析流程,第二步具体流程介绍、代码如何编写、大致步骤

1.分析的视角

分为三步,第一步理解数据集,理解数据集的过程要查看你数据集,数据集是否有结构,查看数据集数据是否乱,如何进行清晰的处理,对数据集的情况有所了解,数据集每行记录所代表的含义,如:出租车的载客记录,以及表达实体对象的最核心字段;第二步理解需求与结果集,理解需求与调研需求、查阅步骤包括编写代码、完成测试都是必要的,明确需求,与前面的数据集做对照,查看数据集中是否包含必备完成需求的字段,根据需求,明确结果集的内容,理解产生的结果集,data转化成result的过程,即数据转为结果的过程,在数据与结果的基础上继续进行;第三步反推每一个步骤,通过结果集反推数据集中间的过程,通过结果看如何达到结果

(1)理解数据集

首先要理解数据集,要回答自己一些问题

这个数据集是否以行作为单位,是否是 DataFrame 可以处理的,大部分情况下都是。

这个数据集每行记录所代表的实体对象是什么,例如:出租车的载客记录

表达这个实体对象的最核心字段是什么,例如:上下车地点和时间,唯一标识一辆车的  License

(2)理解需求和结果集

小学的时候,有一次考试考的比较差,老师在帮我分析的时候,告诉我,你下次要读懂题意,再去大题,这样不会浪费时间,于是这个信念贯穿了我这些年的工作.

按照我对开发工作的理解,在一开始的阶段进行一个大概的思考和面向对象的设计,并不会浪费时间,即使这些设计可能会占

用一些时间.

对代码的追求也不会浪费时间,把代码写好,会减少阅读成本,沟通成本.

对测试的追求也不会浪费时间,因为在进行回归测试的时候,可以尽可能的减少修改对已有代码的冲击.

所以第一点,理解需求再动手,绝对不会浪费时间.第二点,在数据分析的任务中,如何无法理解需求,可能根本无从动手.

我们的需求是:出租车在某个地点的平均等待客人时间

简单来说,结果集中应该有的列:地点,平均等待时间

(3)反推每一个步骤

结果集中,应该有的字段有两个,一个是地点,一个是等待时间

地点如何获知?-其实就是乘客的下车点,但是是一个坐标,如何得到其在哪个区?等待时间如何获知?其实就是上一个乘客下车,到下一个乘客上车之间的时间,通过这两个时间的差值便可获知

2.步骤分析

查看数据,打开文件夹,简版数据

image.png

image.png

观察数据集 Hack_licence 执照号,pickup_datatime 上车时间,dropoff_datatime 下车时间,pickup_longitude 上车的经度,pickup_latitude 上车的纬度,dropoff_longitude 下车的经度,dropoff_latitude 下车的纬度

每一行数据:

表示一个出租车在何时何地接了一个乘客,乘客何时上车何时下车,上车下车的位置

(1)读取数据集

数据集很大,所以我截取了一小部分,大概百分之一左右,如果大家感兴趣的话,可以将完整数据集放在集群中,使用集群来计算""大数据"

(2)清洗

数据集当中的某些列名可能使用起来不方便,或者数据集当中某些列的值类型可能不对,或者数据集中有可能存在缺失值,这些都是要清洗的动机,和理由

(3)增加区域列

由于最终要统计的结果是按照区域作为单位,而不是一个具体的目的地点,所以要在数据集中增加列中放置区域信息

既然是放置行政区名字,应该现有行政区以及其边界的信息.

通过上下车的坐标点,可以判断是否存在于某个行政区中这些判断坐标点是否属于某个区域,这些信息,就是专业的领域了

(4)按照区域,统计司机两次营运记录之间的时间差

数据集中存在很多出租车师傅的数据,所以如何将某个师傅的记录发往一个分区,在这个分区上完成会话分析呢?这也是一个需要理解的点

结果集:area 行政区的信息、avgtime 平均等客时间

读取数据集,对杂乱的数据进行清洗,增加区域列,最终需求是出租车在某个区的等客时间,行政区的列对应的是下车点所在的行政信息,按照行政区域司机两次营运记录之间的时间差

等客时间是上一个乘客下车的时间的到下一个乘客上车的时间的统计即下一个上车-上一个下车,同一个出租车的上一条数据和下一条数据,需要了解会话。

相关文章
预约抢单互助系统开发详细功能/需求方案/步骤功能/逻辑项目/源码案例
The development model of appointment and order grabbing mutual assistance system is a widely used development model on mutual assistance service platforms. It adopts a combination of appointment and order grabbing modes, allowing users to make appointments or actively participate in mutual assistanc
dapp互助预约排单系统开发步骤指南/案例设计/规则详细/方案逻辑/源码程序
-Determine the core functions and objectives of the system, understand user needs and expectations.
|
1月前
|
监控 数据可视化 项目管理
|
16天前
|
监控 数据可视化 搜索推荐
评测:如何通过高效的工具制定清晰的会务日程安排与任务清单?
随着2024年的到来,全球会议和活动安排日益重要。有效的会务日程管理工具不仅能提升工作效率,还能确保活动顺利进行。本文推荐六款适合2024年的会务日程安排工具:板栗看板、Trello、Asana、Monday.com、Microsoft Planner和ClickUp,分别介绍它们的功能、特点和适用场景,帮助您找到最合适的工具。
评测:如何通过高效的工具制定清晰的会务日程安排与任务清单?
|
2月前
|
敏捷开发 数据可视化 测试技术
解析软件项目管理:以板栗看板为例,其如何有效影响并优化软件开发流程
软件项目管理是一个复杂而重要的过程,涵盖了软件产品的创建、维护和优化。其核心目标是确保软件项目能够顺利完成,同时满足预定的质量、时间和预算目标。本文将深入探讨软件项目管理的内涵及其对软件开发过程的影响,并介绍一些有效的管理工具。
|
3月前
|
监控 数据挖掘 BI
项目管理流程全解析及关键步骤介绍
项目管理流程是项目成功的基石,涵盖启动、规划、执行、监控和收尾等阶段。Zoho Projects 等软件可提高效率,支持结构化启动与规划、高效执行与协作及实时监控。这些流程和工具对项目的全局视角、团队协作和风险控制至关重要。项目管理软件适用于不同规模企业,实施时间因软件复杂度和企业准备而异。
96 2
|
6月前
|
XML 存储 数据格式
详尽分享项目分析_xxoo
详尽分享项目分析_xxoo
32 2
|
6月前
|
前端开发 Java 程序员
老程序员分享:Jeeplus框架工作流的使用实战(采购计划的制定流程)
老程序员分享:Jeeplus框架工作流的使用实战(采购计划的制定流程)
126 2
|
7月前
|
安全
短剧系统开发详细指南/步骤流程/功能需求/案例源码
Short film system development refers to the system developed for the production and display of short films. A short drama usually refers to a film completed in a relatively short period of time, usually between a few minutes and half an hour, and is an independent form of film and television work. I
|
存储 前端开发 安全
dapp矩阵公排互助预约排单抢单项目系统开发指南流程丨案例设计丨功能逻辑丨规则玩法丨项目方案丨源码程序
需求分析:与团队明确系统的需求和目标,包括公排互助预约排单抢单项目系统的功能、规则、奖励机制等方面。