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

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

开发者学堂课程【大数据 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
|
4天前
|
监控 数据可视化 项目管理
|
2天前
|
数据采集 存储 JSON
Python爬虫开发中的分析与方案制定
Python爬虫开发中的分析与方案制定
|
23天前
|
敏捷开发 数据可视化 测试技术
解析软件项目管理:以板栗看板为例,其如何有效影响并优化软件开发流程
软件项目管理是一个复杂而重要的过程,涵盖了软件产品的创建、维护和优化。其核心目标是确保软件项目能够顺利完成,同时满足预定的质量、时间和预算目标。本文将深入探讨软件项目管理的内涵及其对软件开发过程的影响,并介绍一些有效的管理工具。
|
3月前
|
数据采集 监控 数据挖掘
打造高效用户旅程:埋点分析系统的实操指南
在数字化时代,了解用户如何与我们的产品或服务互动是至关重要的。用户行为,在广义上,指的是用户在网站、应用程序或其他数字界面上的所有动作和反应。这些行为可能包括点击链接、浏览页面、填写表单,甚至是在社交媒体上分享内容。每一个动作都是用户体验的一部分,并对我们理解他们的需求和偏好提供了宝贵的线索。 在技术层面上,用户行为的跟踪和分析可以让我们深入了解用户的互动模式,从而指导我们的产品改进和市场战略。通过分析这些数据,我们可以发现用户旅程中的关键触点,识别用户体验的痛点,以及揭示潜在的优化机会。这不仅有助于提升用户满意度和忠诚度,还可以增强产品的市场竞争力。
打造高效用户旅程:埋点分析系统的实操指南
|
5月前
|
XML 存储 数据格式
详尽分享项目分析_xxoo
详尽分享项目分析_xxoo
30 2
|
6月前
|
监控 数据可视化 数据挖掘
项目报表解析:项目管理中的得力助手
项目报表是展示项目进展和成果的关键文档,包含项目概述、进度、成本和质量信息,用于团队沟通和决策。常见类型有资源利用图、甘特图、看板图、WBS任务管理和项目进度图。报表通过多角度监控促进信息共享和协作,帮助管理者全面了解项目动态、优化资源利用、控制成本并跟踪进度。例如,Zoho Projects 提供自定义报表工具,支持多种模板和可视化选项,以增强项目管理效率。
54 6
|
6月前
|
安全
短剧系统开发详细指南/步骤流程/功能需求/案例源码
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
|
敏捷开发 测试技术
推三返一开发稳定版丨推三返一项目系统开发详细指南/方案需求/步骤逻辑/流程功能/案例设计/技术架构/源码程序
推三返一系统开发是一种软件开发模式,也被称为迭代增量开发模式。它是一种敏捷开发方法的一种,通过将整个开发过程分为多个迭代周期,每个周期都会增加新的功能和特性,并在每个迭代周期结束后进行测试、反馈和修改。推三返一系统开发的核心思想是“推进三步,反馈一步”。
|
消息中间件 数据库 RocketMQ
生成预订单流程分析1|学习笔记
快速学习生成预订单流程分析1
134 0
生成预订单流程分析1|学习笔记
下一篇
无影云桌面