python处理流数据_用Python处理数据的实用姿势

只要选对了人生的方向,很容易就成功了,让我们恭喜只要和很容易。

在实际工作中,还有更多数据处理场景。常见的比如:获取竞争情报

分析业务问题

寻找决策依据

而且不同行业不同业务类型,需要用不同模型来分析。

人们在实战中总结出不少理论和方法,比如:适合行业分析的PEST模型

适合市场营销的4P营销理论

适合财务分析的杜邦模型

适合产品运营的AARRR增长模型

以及一大堆未成体系的实战策略,在战略和战术层面为我们提供决策依据。

数据分析可以帮助我们更快更准掌握现状,定位问题原因,甚至从规律中预测未来。

数据,早已成为每个公司的核心资产。

数据分析能力,是我们每个人在信息时代的核心竞争力之一。

数据分析流程

业内数据分析人员的定位划分有3类:侧重管理:关注行业和市场信息,掌握整体执行效率。

侧重业务:更关心如何用数据分析问题,制定战术策略。

侧重技术:搭建内部分析平台,关注平台基础架构。

实战中,中层管理人员往往需要同时熟悉管理和业务层面的分析,对业务的熟悉程度也决定了数据分析人员的职业发展高度。

技术方面,大中型公司会有余力关注数据资产,建设自有数据分析平台;小团队早期更适合使用SaaS工具管理数据。但不管用自有系统还是外部系统,都不影响必要的数据分析工作。

数据分析整体开展思路可分为6个部分:明确目标:为什么分析?分析什么数据?需要哪类结论?(判断题?选择题?问答题?)

数据收集:围绕目标收集数据,信息渠道要广,数据内容要精准。

数据清洗:剔除无效无用数据,“淘”出关键数据。

数据分析:用基本的分类/比较/统计,以及各类数据模型分析数据。

数据展现:用可视化工具呈现数据,让人更易理解。

数据报告:基于逻辑框架给结论和建议,组织文字/图像/媒体提高说服力。

所以,数据分析的第一步,就是要明确目标。

不同目标需要不同的分析模型和方法。比如:产品策划阶段,会更侧重行业分析和竞品分析,需要掌握更多市场数据,以及竞品运营数据。

产品上线后,第一关注就是其业务数据,如用户增长和留存,及后续的付费转化和复购等。

运营中后期,需要持续寻找并突破增长瓶颈点,关注用户数据,细分类型并制定策略。

公司财务方面,需要及时掌握现金流、盈利能力、债务和资产等数据,辅助战略决策。

……

只有明确了数据分析的目的,才能匹配适合的模型和方法展开工作。有些只要用报表反映现状即可,甚至可以用看板省去正式报告。

有些侧重说服,如战略研究报告,需要用严谨逻辑和专业表述说服利益相关者。

有些侧重找问题原因,如业务增长瓶颈,需要快速分析,提出假设,测试验证并复盘总结。

数据是无穷的,但人的精力却是有限的,我们需要借助工具和方法来处理数据。

数据的处理

数据处理工作主要在中间4步:收集、清洗、分析、展现。

根据目标设定,数据可以来自于内部或者外部,也可以是两者的结合。内部数据,如交易系统数据、用户行为跟踪数据等。

外部数据,如三方平台接口数据、互联网公共数据等。

收集数据后,还需要清洗数据,如去除缺失或明显错误的数据、补全或修改有逻辑错误的数据、校验关联数据等。

数据清洗在整个数据分析工作量中占比最高,也最考验耐心。高强度的数据清洗操作,为的是在分析阶段获得更高质量的数据输入。

到了分析阶段,我们就可以套用相关数据模型展开分析,期间也会借助统计学工具辅助。

最常见的基本分析方法有3个:对比分析:按时间、空间、对象等维度比较,通过比较可以直观看到差异。

分组分析:根据特征把数据分组,再按组对比分析找差异。

交叉分析:把不同维度组合起来分析,观察数据在维度间潜在规律。

此外还有更多统计学的方法,如回归、聚类、因子等,适用于特定场景。

当然,并非越复杂的分析方法越靠谱,数据分析的关键是让人通过数据达成目的。

数据可视化

分析过程中,我们也可以同时结合可视化工具辅助,这样更容易观察到数据间的相似特征和差异。

图表是最常用的可视化工具,比如:柱状图:适合二维数据分析,用柱子高度表达数据差异。

饼图:适合表达各组成部分在整体中的占比。

折线图:适合表达数据变化趋势。

雷达图:适合四维以上的多维数据,表达数据在多指标下的表现。

散点图:适合粗略观察数据的分布。

还有一些更专用的形式,比如:漏斗图:适合分析多阶段数据,如业务流程的各层的转化率。

热力图:适合用色彩数据密集度,如结合地理信息表达人流密度。

词云图:适合表达用词频率,比如用户画像、内容标签等。

树型图:适合表达隶属关系,比如行业矩阵。

把数据用恰当的方式表达出来,可以帮助人们更好更快地理解数据。

除了图表,还能用看板(dashboard)快速掌握全局信息,制作信息图让数据更有故事性。

最后,选择一套逻辑框架,把观点结论用文字、图表及原始数据进行论述,就能输出完整分析报告。

工具选择

数据处理的工具有很多,如Excel、SQL、R以及一些BI(商业智能)工具。

但各个工具的发展侧重点,以及应用范围各不相同,如:Excel最通用,但适合处理小数据集,07版本开始最大1048576行x16384列。

SQL是结构化查询语言,专门用于数据库。

R有大量成熟的数据统计功能,广泛用于研究机构,但发展较慢。

大部分BI工具更侧重于可视化,如PowerBI和Tableau。

在简单场景下,Excel足够应付,它主要有4大模块:数据读写:以表格形式保存数据,可从文本和HTML中读取表格数据。

数据图表:支持柱状图、饼图、折线图等基本图表工具。

数据分析:支持基本筛选、排序、统计,以及数据透视表和函数。

样式格式:支持页面布局,设置数据格式和单元格样式。

此外,它可与微软系工具无缝结合,如PowerBI、Access数据库,也可以通过VBA自定义插件。

在数据量不大的情况下,Excel的确是最实用的本地数据分析工具。

但随着业务增长,数据量也会增多,使用Excel分析数据就会遇到瓶颈。

这时,有两个选择:把数据分块分析,比如按年/季度划分,单独统计后再汇总,或按业务板块划分,目的就是让数据量减少到Excel能承载的范围内。

借助其他工具,把Excel当作输入数据源之一,比如借助Tableau、PowerBI商业套件,或自行开发数据分析工具。

这个时候,Python的数据处理能力就能完全体现出来了。

几十年来Python吸收了来自众多领域的高手,能力已覆盖数据获取、分析和可视化全流程。我们可以通过requests模块获取互联网数据,通过lxml和json等模块抽取所需内容,再利用django模块把数据保存到自建数据库,或通过csv和openpyxl模块把数据保存到本地文件。

然后开始用pandas处理分析数据,用matplotlib、pyecharts、plotly等模块提供可视化辅助和输出。

前半部分俗称爬虫,其中django是Python著名Web开发框架之一,但我们也可以用来辅助数据存储。

后半部分是数据分析的主要工作。

借助其列表生成器和内置函数,我们也能完成大部分的分析工作,只不过比较繁琐。

比如,Python处理Excel章节的尾部,有一个加盟店数据分析实战案例。

其中我们利用了Python内置的列表和函数统计分析数据,虽然也可以完成任务,但不管效率、代码量还是可理解度,都无法与pandas相比。

Python有一套经典的数据分析模块组合:numpy、pandas、scipy。numpy是一个底层由C实现的多维数组,比Python内置的数组效率高几十倍。

pandas在numpy基础上增加了标签,可以轻松处理表格类数据。

scipy提供了更多科学计算工具,如线性代数、统计、信号处理等。

模块安装:pip install numpy

pip install pandas

pip install scipy

可以在Notebook中对Python原生的列表和numpy数组做一个简单性能对比:分别对每个元素做10次乘法操作。

import numpy as np

np_arr = np.arange(1000000)

py_arr = list(range(1000000))

%time for _ in range(10): np_arr = np_arr * 2

%time for _ in range(10): py_arr = [x * 2 for x in py_arr]

可以得出类似如下结果:CPU times: user 18.2 ms, sys: 12.8 ms, total: 31 ms

Wall time: 30.3 ms

CPU times: user 741 ms, sys: 224 ms, total: 965 ms

Wall time: 972 ms

此外,还有sklearn、PyTorch、Keras、TensorFlow等更多机器学习框架和算法。

所以,Python是数据分析的不二选择。

Python的可视化模块也很多,比如:matplotlib,与numpy无缝结合的二维绘图库,支持大部分图表,配置灵活。

pyecharts,基于百度开源的echarts可视化项目,图表更丰富也更精美。

plotly,基于plotly.js,支持2D和3D的交互式绘图,与Python各数据分析模块无缝结合。

除了matplotlib是纯Python编写的模块,其他两个都是对基于JavaScript绘图框架的Python接口封装。

更多可视化项目,都基于JavaScript实现。除了上面提到的echarts和plotly.js,还有著名的D3.js,以及蚂蚁金服的AntV等等。

当然,学习的时候不用贪多,够用即可,选择一套用熟用透,好过看100遍别人的推荐文章。

总结

本系列是继Python数据处理系列。

内容涵盖数据获取、分析和可视化三大部分,用Python解决平时常遇到的数据问题。

结构上,为了更容易理解和学习,会穿插讲解一些基本概念,并用Excel或浏览器等日常工具演示。

涉及到实战类项目,会提前告知所用分析模型或方法,但主要内容以介绍工具技能为主。

扫码加入学习群,前100名免费。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值