说到Python自动化办公,就不得不提到数据可视化,毕竟现在职场最抢手的人才,是同时具备数据思维和表达能力的人,简单的excel已经不能达到我们的要求。
然而不少刚入门的小白,难免会产生这样的疑问:这么厉害的东西,会不会学起来好难?
今天我就给大家演示一下如何零基础用Python做电商直播数据可视化
抖音电商 2020 年全年 GMV(商品成交总额)超过 5000 亿元,比 2019 年翻了三倍多。
2019年,直播电商行业整体成交额达4512.9亿元,同比增长200.4%,仅占网购整体规模的4.5%,成长空间较大,预计未来两 年仍会保持较高的增长态势。随着内容平台与电商交易的融合程度不断加深,预计2022年直播带货的渗透率可以增长到 20.3%。
光看这些数字很难有一个具体的概念,今天我们利用Python对电商的直播销售数据进行可视化输出,以一个直观的方式看看直播电商这个行业到底有多火。
废话不多说上几行代码就可以搞定:
Python可视化的库有许多,今天我们要用到的有numpy、plotly、pandas。话不多说,我们先导入!
import numpy as np import pandas as pd import plotly.express as px
接下来,我们把EXCEL文件导入python
df = pd.read_excel('业务.xlsx')
在对数据进行可视化之前,我们得先了解这份数据的特征,不了解数据就盲目画出的图往往没有意义。比如这份数据的指标有时间、地区、销售额、序号。
df.info()
知道了指标,问题也随之产生了。不同地区的销售额有什么差别?销售额和时间之间又有什么关系?带着这些问题,我们利用可视化来一探究竟。
px.scatter(df,x = '序号', y = '销售额', color = '地区', size = '销售额')
这样,我们的一份可视化图表就完成了。从图中我们可以清晰地看到,上海和北京地区的销售额越来越高,北京的销售规模比上海更大
以北京和上海为例,剩下的大家可以
这个例子展示的仅仅是Python可视化库的冰山一角,它拥有的功能远远没有那么简单。实际上,它不仅能生成一张美观的静态图表,还能根据需求生成可交互的网页。
基于此,我这里将我以前学习过程中用过的电子书(技能类、统计类、业务类),还有相关视频免费分享给大家,省去了你们挑选视频的时间,也希望能够对你们的学习有所帮助。
PS:我总结的资料有点多哦,差不多有4G,大家一定要给你的百度云盘空出位置来哦!
如果遇到一些环境配置,还有一些错误异常等bug,资料就显得不太够用,这时就需要找到老师,给我们特别讲解。或者是想快速学习数据分析领域知识,不妨先找一找直播课看看,了解当下最贴合实际的学习思路,确定自己的方向。
我特别推荐网易云课堂的《3天数据分析实战集训营》,定期更新干货知识。还有网易特邀数据架构讲师——“证书狂魔”Mars老师,通过直播现场教学和实战的同时,开放互动参 与学习,让你的数据分析之旅快人一步!
3月29日 20:00&数据可视化入门:60分钟,用Tablue快速实现炫酷可视化效果
场景工具:Python可视化常用工具箱
流程处理: 大厂数据分析工作流程解析
学习成果:高效的对数据驱动型业务作出精准决策
实战案例:利用可视化工具构建电商直播数据--动态地图
3月30日 20:00&数据可视化进阶:4个案例,用Python快速实现【交互式可视化报表】
入门级图表:用Python快速实现
进阶交互图:股票价格走势
动态趋势图:电商直播分析
地图效果图:销售数据汇总
3月31日 20:00&量化交易入门和进阶:0基础利用Python快速选择优质股票
场景工具:利用pandas工具分解KDJ指标构成
流程处理: 交易数据爬取,业务场景分析建模和可视化
分析结果:用KDJ指标模型对比特币行情买卖点搜索&交易回溯
实战项目:掌握根据数据指数和分析工具寻找虚拟货币买卖原理
他们每周都会定期分享一些干货供大家学习参考,对学习很有帮助。大家按照以下步骤,即可免费获得网易4G内部资料和3节免费直播课
1、点击下方链接卡片免费报名课程(限时300个名额)
2、报名成功后添加小助手即可免费领取资料
想不想学习更多的可视化技巧,在同事和老板面前亮一手?我这里推荐一个免费的学习途径:网易推出的《3天数据分析实战集训营》,还可以领取大量数据分析、可视化的学习资料。
1、点击下方链接卡片免费报名课程(限时300个名额)
2、报名成功后添加小助手即可免费领取资料
分享一个很优秀且简短的自动化拼写检查器
当然,不是由我搞定的,是来自谷歌Norvig大神的杰作
当我们使用谷歌搜索内容的时候,如果你拼错一个单词,网页会提醒你可能的正确拼法,这就是所谓的"拼写检查"(spelling corrector)。谷歌使用的是基于贝叶斯推断的统计学方法。这种方法的特点就是快,很短的时间内处理大量文本,并且有很高的精确度(90%以上)。
效果大概是下面这个样子:
当用户输入一个单词的时候,分为了两种情况:
所谓的"拼写检查",从概率论的角度看,就是已知 ,然后在若干个备选方案中,找出可能性最大的那个 ,也就是求式(1)的最大值。
根据贝叶斯定理可得:
对于所有的备选项C来说,W都是相同的,因此可以将上式简化为:
所以,实际上可以看成是求式(3)的最大值
的含义是,某个正确的词的出现"概率",它可以用"频率"代替。如果我们有一个足够大的文本库,那么这个文本库中每个单词的出现频率,就相当于它的发生概率。某个词的出现频率越高, 就越大。
的含义是,在试图拼写 的情况下,出现拼写错误 的概率。这需要统计数据的支持,但是为了简化问题,我们假设两个单词在字形上越接近,就有越可能拼错, 就越大。
举例来说,相差一个字母的拼法,就比相差两个字母的拼法,发生概率更高。
例如,如果你想拼写单词 Serendipity,那么错误拼成 Serendipitu(相差一个字母)的可能性,就比拼成 Serendipituu 要高(相差两个字母)。
所以,我们只要找到与输入单词在字形上最相近的那些词,再在其中挑出出现频率最高的一个,就能实现 的最大值。
实现代码如下:
import re from collections import Counter def words(text): return re.findall(r'w+', text.lower()) WORDS = Counter(words(open('big.txt').read())) def P(word, N=sum(WORDS.values())): "Probability of `word`." return WORDS[word] / N def correction(word): "Most probable spelling correction for word." return max(candidates(word), key=P) def candidates(word): "Generate possible spelling corrections for word." return (known([word]) or known(edits1(word)) or known(edits2(word)) or [word]) def known(words): "The subset of `words` that appear in the dictionary of WORDS." return set(w for w in words if w in WORDS) def edits1(word): "All edits that are one edit away from `word`." letters = 'abcdefghijklmnopqrstuvwxyz' splits = [(word[:i], word[i:]) for i in range(len(word) + 1)] deletes = [L + R[1:] for L, R in splits if R] transposes = [L + R[1] + R[0] + R[2:] for L, R in splits if len(R)>1] replaces = [L + c + R[1:] for L, R in splits if R for c in letters] inserts = [L + c + R for L, R in splits for c in letters] return set(deletes + transposes + replaces + inserts) def edits2(word): "All edits that are two edits away from `word`." return (e2 for e1 in edits1(word) for e2 in edits1(e1))
当然, 工业强度的拼写校正器的完整细节是非常复杂的,不过从这个玩具拼写校正器中,我们也可以学习到一些内容,而且其校正的准确率也是不错的。
参考: