Open kagamiqyah opened 5 years ago
学号:1901050017
学习内容:exercise 01
学习天数:002
学习时间:5小时
学习体会:
查找汇总统计学知识
用flowchart把概念串起来
在全部查找完时,我还是一知半解,于是我决定再去看一遍wikepedia和khanacademy。
忽然看到网页最下方的分类,这才意识到视频里总说起的central tendency和dispersion,原来是这次作业的两大阵营啊。这个时候做个思维导图应该最容易把脑子里的知识串起来了。想起来就得动,去google如何在typora上做思维导图,研究了一会,做出来了,于是技能包里又多了一个mermaid语句包。
LR是从左到右
TD是自上向下
[],(),(()),{}分别会显示节点形状
| |:
A-->B:
A==>B:
以后有机会再深究typora
用箱型图把中位数、全距、极值、四分位数串起来
作业当中要求写每个概念的应用场景,上面这四个明显都会应用在同一种场景里,经常结伴出现,而随着研究地深入,无论是网页还是视频,都会出现箱型图box plot这个概念。我绕过了一次,但心里总是不舒服,于是决定延长作业时间,把它研究出来。现在khanacademy把视频看完,练习做完,然后试着用matplot把箱型图展现出来,又一次“赶鸭子上架”,于是把box plot语句的写法研究了半天,最后终于调试成功,这些统计学概念在这一次次的知识汇总中总算熟悉了。
使用tableau prep和 desktop
tableau是新工具,打开初期,又一次感受到了紧张的感觉,于是我一边仔细的 看视频,一边小心翼翼地点击按钮,脑子里总是提醒自己要一字不差地阅读 ,在“聚合”,“流程”,“清理”,“移除”等等这些陌生字眼中我完成了入门练习,算是有惊无险吧,学习新知识,总也改不了紧张的毛病。
紧接着开始尝试完成tableau prep的作业。
作业要求并没有像入门指南里把使用者当小学生一样很详细地标识每一步骤,而是非常简单明了地给予指示。抱着只字不差地阅读方针,一次完成任务。过程里后背一直在冒汗。。。。。 到了tableau desktop这步卡壳了,两个轴无法合并,已经一个小时了。一会问教练,我现在得去健身房了,昨天就在奋战,忘了去。
学号:1901050017
学习内容:exercise 01
学习天数:003
学习时间:3小时
作业终于完成了,心情放松不少。
在tableau desktop,条形图📊部分卡壳:
不会双轴合并。在教练的帮助下,右键选择,点击完成。
仔细和作业示例图比较,发现很多细节都没完成,于是开始按照作业示例图匹配,难点真不少。
上面图里用红色画的线都是比较之后发现的:
度量值的轴的名字需要改
轴的刻度线上的单位得改成‘B’
时间得筛选
季度这个轴得编辑。
好多小细节不检查不知道,检查了以后更不知道。只有踏下心来看资料,一步步解锁。
p.s.做完作业,仔细看了条形图,自从有了期货市场,btc的交易量增长真快呀。
统计学真是一门好玩的学科,掌握这些概念的人简直是能对数据玩弄于股掌之中,让它无论如何都能按照自己的利益显示出来。
无论是统计学的概念还是tableau这种图表工具,都是为了把数据提炼出来,为己所用,那么怎么用,用在哪是关键。看到群里同学写出的应用场景,觉得好玩极了,我得向他们多学习,多想想。
看得到学习过程当中思考的过程,而且把知识串起来,这个思路很好!
学号:1901050017
学习内容:exercise 02
学习天数:004
学习时间:3小时
教练发邮件说01作业还有一些不完善的地方,需要修改一下。
季度在筛选器里只需留一个;黄框标题去掉。
改完以后就正式进入exercise02的学习了。
李笑来老师说过一个概念:最少必要知识。
学任何东西,想要“速成”从来都是妄想。但是,用来起步的那一点“最少必要知识”不仅是可以迅速获得的,也是必须迅速获得的。
“最少必要知识”起码要包括“阅读能力”。
“如何使用Google。”
锁定“最少必要知识”,是一种能力,它可被习得,可被锻炼。
那么这次的tableau肯定也是有这种知识的,阅读并习得以后,就可以快速展开工作了。当然阅读指的是快速通读一遍以后,只字不差地阅读。
那么tableau desk里有什么关键基础知识呢,在学习文档里都已经列了出来。说了那么多,其实第一遍‘速读’的时候,由于很多名词眼生,我的注意力一直想要溜走,费劲留住以后,终于来到了第二遍‘认真阅读’。在这次阅读时,我在想,把它全且当成Excel
吧,所有的操作也都是如何运用数据的,同时搭配统计工具来展现出我想要呈现出来的,正如tableau官方文档里所说:
此过程可能会按您认为有用的方向形成视图,或者您可能更愿意转向不同的方向 — 例如,通过向视图中添加时间维度,或者通过引入趋势线或预测。一切都由您决定。
类比成Excel后,瞬间能看进去了,虽然还是对有些名词搞不懂,但至少能沉浸进去了。况且官方档案很贴心地会在一堆概念说明后,附上操作案例,按照步骤,实际操作起来会明白很多。无论是散点图的制作还是快速表创建,都会对概念更了解一些。
创建表
散点图制作
解聚
快速表创建
熟悉了关键基础知识,明天就可以进行作业的第二部分了。
十分期待。
学号:1901050017
学习内容:exercise 02
学习天数:005
学习时间:4小时
为什么使用tableau?
白皮书上写到:
使数据囿于孤立、静态的图形中,会限制您能够回答的问题数量。让数据把来龙去脉娓娓道来,成为决策的核心所在。把相关图表结合起来。添加地图。设置筛选条件向更深层次挖掘。结果如何?以风驰电掣的速度获得商业洞见以及问题的答案。
我的理解就是数据很多,但能看懂或者说能让其他人看懂,并能提供给决策一些重要信息很难。于是tableau的出现,让展示商业决策的依据和结果就变得容易了。
在学习使用过程中,发现使用它其实比excel的数据图要简单很多,“拽拉点”就是大部分的操作。难点是得理解底层逻辑,才能展现出合理的结果。比如:将某个数据拽到“行”上,指的是Tableau
将此度量聚合为总和并创建垂直轴。而拽到列呢?则是代表把这个数据聚合,并创建一个水平轴。还有拽到标签上,也都是根据这个数据来展现某种特征,颜色,大小之类的。
看文字就能学会的技能我没有掌握,所以还是老老实实地动手操作吧。
作业的第二部分要求完成17个图表,第三部分要求总结。边按步骤制作图表,边写总结的话,可能会加深印象。于是我把优点和应用场景都做成了表格,方便自己查阅和理解,同时呢,按照要求完成了17个图表。
今天的完成度还算可以,明天再战。
学号:1901050017
学习内容:exercise 02 + 数据分析、统计学资料
学习天数:006
学习时间:1小时
这几天看屏幕时间太长,眼睛受不了了,疼得很厉害。于是今天没有选择用电脑来玩成作业,用kindle把周边书和资料看了看。
表现单类数据里各个所占比例时用饼图最好用。
比较各个类别的大小频次时用条形图更好。
在一定范围内计算范围频率数范围时,可以用直方图来表示,它和条形图长得差不多,但有很大区别,直方图长条之间时没有间隔的;直方图中的长条面积和得分数也就是频率数成比例。
数组聚合和分组运算:
比如说分组,就是把一个字典里的key和value分开,再根据key的类别分组,根据实际应用再合并,这就是分组再聚合。不过字典可以是列表或数组,甚至是函数。
这时我想起来tableau,它简直是太方便了,清洗、聚合、分组,应用都可以直接进行,只需要清楚地知道自己想表达的目的即可。
吃完止痛药,休息了一天,明天再开始应对屏幕。
看到了对生活有规划,追求上进。是个有智慧的人!
学号:1901050017
学习内容:exercise 02 + 数据分析、统计学资料
学习天数:007
学习时间:3小时
今天的作业内容是制作仪表盘。
询问教练之后,知道表格、仪表盘、故事这三者之间的关系,我自己的总结就是俄罗斯套娃,表格是最基础的部分,然后把相关数据的表格放到一个仪表盘里,最后汇总到故事里去。
仪表板(dashboard)的定义:是多个工作表和一些对象(如图像、文本、网页和空白等)的组合,可以按照一定方式对其进行组织和布局,以便揭示数据关系和内涵。
引用官方档案里的一句话
创建有效仪表板的最佳做法
精心设计的仪表板可以协调组织的工作,帮助发现关键的见解,并加快决策速度。
目前,我联系起来了几组表格,制作成了三个仪表盘。本来应该接着往下做的,但是在查看完有关资料后,又觉得做的不好,看到资料中实例仪表盘做得非常好,再看看我做的。。。。。于是我开始学着制作好看有用的仪表盘,我想数据之间是有联系的,甚至应该是交互的,也就是说点击某一个仪表盘上的表格,和它相关的表格应该是联动状态,以多个角度分析这才是数据分析的根本,看完了以下的例子,我确定了这不是个简单的作业,至少对我来说,我想做出交互式的仪表盘。
我总结了自己一些做仪表盘时需要注意的地方,方便明天继续做作业时注意。
参考资料《tableau desktop 官方档案》、《tableau官方可视化极速》、《人人都是数据分析师》
学号:1901050017
学习内容:exercise 02 + tableau dashboard 资料
参考书《tableau官方资料》、《tableau可视化之极速》 视频《 Do it yourself tableau》、《tableau官方教程》
学习天数:008
学习时间:3小时
仪表盘知识学习了两天,终于有了一些进展。
仪表盘最重要的一点就是找出工作表们的内在联系,使之交互,以观看者或者决策者看懂并展现出隐含的、对决策有潜在价值的模式和关系。
在之前做出的工作表是分别按照“superstore”和“世界发展指标“这两个数据源做出的。经分析,和前者有关的工作表是一系列的销售、物流数据,要按其类来分别做出仪表盘;和后者有关的工作表是综合性数据,并且有关的工作表只有两个,可以都放到一个仪表盘里。
在superstore行业,需要从海量数据中快速找出有价值的信息,在作业中的一系列工作表中,有展示销售量和利润的,有展示各区域和各时间段航运模式趋势的,有展示商品细分的利润的,有展示各商品之间的销售量比例的。所以我以此做的仪表盘,是以各数据之间的联系做依据的,当然最重要就是交互性。
需要大量规划,才能创建仪表板
截了两个昨晚的dashboard图 1
2
动手并不是最难的,难得是在动手做仪表盘之前的构思和观察,找出数据间的联系,才能做好仪表盘。
话说可能是沉迷仪表盘太久,于是有了孕妇效应,在哪都能看到数据可视化。比如今天的台风利奇马的降雨量图和雷达图。我做仪表盘时,发现地图是非常好用的仪表盘数据之一,利用经度和纬度做出的地图,和任何数据都能产生交互。
明天应该能完成exercise 02的作业了,争取把故事攻克。
学号:1901050017
学习内容:exercise 02 + storytelling data资料
参考书《The non-designer's design book》、coursera course《Dashboards and storytelling with tableau》
《Stroytelling with data》
学习天数:009
学习时间:2小时
现在到故事了,我发现数据分析不光包括数据清洗、整理,还有如何找到数据间的联系,从而发现隐含的消息,甚至可视化数据的制作也有很多门道,如何让数据有效交互,排版,最后在 演示过程中简洁高效表现出来,其中的知识真的是太多了,越想做好一点,越会发现学习的知识就要更多。
选择好图表。根据目的来选择度量值,选择适合该度量值的图表。
A. 折线图:时间序列、相关序列、自然完全相同的数据
B. 条形图:数据比较、对于数据范围需要特别的关注
C. 散点图:显示出数据的规律
D. 直方图:数据的频率
E. 饼图: 同类事物的组成比例
F. 树状图: 通过颜色来表现矩阵,或者表现出异常值或数据的规律
G. 盒形图:数据的分布,异常值和数据范围
设计图表。正如语言有规则,写作有规则,设计也有规则。
A. 相近性。数据相近就会使之看起来是一组的,哪怕形状、大小十分不同
B. 相同性。相同的数据倾向于同组出现。
C. 归纳性。数据被划归一组,就会被看成一个整体。
D. 连续性。被连成线的点就会显出流畅感。
规划好一系列相关数据的图表在仪表盘中的组合。
要做成一个表现力强、可读性高、有意思的仪表盘,有四个要素:图表组合、文本、图表形式和颜色。
逻辑性、组合方式来简洁地表达出来,这是关键。
图表形式要适合数据。
图表组合要有逻辑性。
颜色要有对比性,背景要避免干扰数据表现力。
文本,标题要简单明了,副标题要简单地表达出图表的关键信息。
图表相关元素也要在仪表盘中显示出来。
要针对听众来做好演示准备。
逻辑性要强。
传达出数据的关键信息,而不是全部数据。
“The shortest distance between truth and a human being is a story. ”
– Anthony de Mello, One Minute Wisdom
学号:1901050017
学习内容:总结exercise02知识
学习天数:010
学习时间:2小时
exercise02作业今日已完成。
涉及到的知识,进行思考总结
此次作业的第一部分是制作图表,不过是按照例子按步骤做。后来我在想,如果要是自己拿到一堆数据,又该选择哪些图表呢,哪些会更适合呢?教练提前想到了我们做作业时的顾虑,于是到了第二部分,就开始整理各个类型的图表的优点、主要用途和适用场景。总结完以后,心里没那么慌了,毕竟学是为了实践嘛,能用才是关键。
昨天找到一个网站,能为数据图表化提供非常好的思路: D.V.P
如果按照功能分类图表的话,可以分类成几种
比如汽车仪表盘,就能很好地展示数据,接近、对齐、对比、重复原则都包含其中,使开车人能及时准确地掌握所需要的信息。
我也找到一些好看的dashboard图片:
从以上图片,我发现仪表盘的制作,是整个数据可视化非常重要的一个环节,在日后的学习中还需要不断地练习和强化。
很好地去表现图表中的数据,需要去演绎,去构建一个故事。
tips:
切入点要实际,有用
换位思考:作为观众需要听到的故事要简洁,阐述明了,吸引注意力
句子不要太长,用词简单,keep it simple and plain, 特朗普的tweeter就是我用来学习简单表达的地方。
每周都有练习的数据,还可以在tweeter上得到反馈makeovermonday
有建设性的数据可视化文章eager eyes
各种新闻和话题的数据可视化fivethirtyeight
用故事来讲述数据stroytellingwithdata
素材书籍在之前的学习心得里
厉害👍,向你学习
学号:1901050017
学习内容:exercise 03
学习资料:tableau官方地图视频+其他纸质、视频学习资料
学习天数:011
学习时间:5小时
收到exercise03的资料,大致看了一遍,理了一下学习思路。
看视频时,我是顺便在家用走步机做有氧,一举两得。tableau的官方视频讲得非常明白,从基础到进阶,即使是英文无字幕,也能听进去。
地图:地理信息的数据化
统计地图: 数据的正确对应
地图种类:
还有很多diy地图,这次作业主要是用静态背景地图这个知识点:设定相应图片为地图的背景图像,设定纵横轴相对应的变量,以及变量的取值范围。
按照tableau入门指南,先跟着示例做了一个一摸一样的工作表,之后按照作业第一部分的要求做了一个按华东华南城市分组的工作表。
做到作业第二部分时,遇到了困难。没有相应的数据源,于是去网上找了半天,也没找到合适的,耽误了半天,去询问了教练,这才发现是教练疏忽,忘记发给我数据源了,真是让我好找啊。好在是顺利完成了作业,这次的作业没有像上次作业那样用时很久。总结经验,就是在恶补tableau知识时,把能找到的资料都提前备好了,得空就看一看,拿到新作业时,就知道了方向,不会抓瞎,不过也不好说,也许下次作业还是需要大量时间来做功课。
另外我得准备mac excel了,我的Mac mini上没有excel,我为了编辑站点x,y坐标,只能传到手机上,更改完再传回电脑,有点麻烦。
作业要求上有点模糊:
可能教练们也很忙,疏忽了
一早醒来,初步看完了王晓镜同学的自学数据营的学习心得体会,大致能明白学霸的学习路径与思考方式。 谢谢你的分享,让我能如此真实且同步地看到,感受到榜样的力量!
学号:1901050017
学习内容:exercise 04
学习资料:tableau官方预测视频教程+高级图表制作视频,wikipedia,其他补充学习资料
学习天数:012
学习时间:2小时
exercise 03已完成,用时1天。
今天开始exercise04的学习。
拿到作业,第一时间查看要求,确定学习方向和步骤。
布林线:Bollinger Bands,一种指标技术工具,通常用于金融市场。应用上结合了移动平均和标准差的概念,形态是由三条轨道线组成的带状通道:上、中、下三轨。中轨通常为20天平均线。
计算公式 • 中轨线 MB=N日的移动平均线 • 上轨线 UP=中轨线 + 两倍的标准差
• 下轨线 DN=中轨线-两倍的标准差
本福德定律图:Benford's law,一种用于检查数据是否有欺瞒之处或是否欺骗检测的工具。说明一堆从实际生活得出的数据中,以1为首位数字的数的出现几率为总数的三成。
在十进制中,首位数字出现的概率为:
d | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
---|---|---|---|---|---|---|---|---|---|
p | 30.1% | 17.6% | 12.5% | 9.7% | 7.9% | 6.7% | 5.8% | 5.1% | 4.6% |
这个定律非常神奇,从世界人口数量,账本,物理化学常数等等都符合本福特定律。
控制图:Control chart,也成“质量管理图”,是统计过程中,确定制造或业务流程是否在统计控制状态下的一种工具。它的基本结构是在直角坐标系中画三条平行于横轴的直线,中间一条实线为中线,上、下两条虚线分别为上、下控制界限。
控制图可用于:①诊断:评估一个过程的稳定性。②控制:决定某一过程何时需要调整,何时需要保持原有状态。③确认:确认某一过程的改进效果。
引申知识:控制图是质量管理七个工具的核心。这里,质量管理七个工具分别为:因果图(cause-efective diagram)、排列图(pareto diagram)、直方图(histogram)、散布图(scatter diagram)、控制图(control chart)、分层抽样(stratification)、检查表(check list)。
漏斗图:funnel plot,漏斗图适用于业务流程比较规范、周期长、环节多的单流程单向分析,通过漏斗各环节业务数据的比较能够直观地发现和说明问题所在的环节,进而做出决策。漏斗图用梯形面积表示某个环节业务量与上一个环节之间的差异。漏斗图从上到下,有逻辑上的顺序关系,表现了随着业务流程的推进业务目标完成的情况。
适用场景:流程流量分析,转化率问题。
凹凸图:排序图,可以用来分析特定产品某度量指标的排序变化情况。
瀑布图: Waterfall Plot,瀑布图采用绝对值与相对值结合的方式,适用于表达数个特定数值之间的数量变化关系。瀑布图通过巧妙的设置,使图表中数据点的排列形状看似瀑布。这种效果的图形能够在反映数据多少的同时,更能直观地反映出数据的增减变化过程。本质上瀑布图是甘特图的变形。
适用场景:连续的数值加减关系、两个及以上的数据点之间数量的演变过程时,并最终形成累计值。
概念:所有预测算法都是实际数据生成过程 (DGP) 的简单模型。
最少必要知识:
• 只能针对日期时间维度进行预测 • 使用最简单的平滑技术中的最复杂的指数平滑方法进行预测
作业要求的理解
Tableau 针对一个季节周期进行测试,具有对于估计预测的时间系列而言最典型的时间长度。如果您按天聚合,则 Tableau 将寻找每周季节性。
在“预测选项”对话框中,可以选择 Tableau 用于预测的模型类型。对于大多数视图,“自动”设置通常是最佳设置。如果选择“自定义”,则可以单独指定趋势和季节特征,选择“无”、“累加”或“累乘”:累加模型是对各模型组件的贡献求和,而累乘模型是至少将一些组件的贡献相乘。当趋势或季节性受数据级别(数量)影响时,累乘模式可以大幅改善数据预测质量。
截断日期引用历史记录中具有特定时间粒度的某个特定时间点,例如 2017 年 2 月。它们通常是连续的,在视图中具有绿色背景。截断日期可用于预测。
度量中的数据通常并不是与粒度单位完全一致。您可能会将日期值设置为季度,但实际数据可能在一个季度的中间(例如,在 11 月末)终止。这可能会产生问题,因为这个不完整季度的值会被预测模型视为完整季度,而不完整季度的值通常比完整季度的值要小。“预测选项”对话框中的“忽略最后”选项来移除(或者说修剪)掉这样的部分周期。默认设置是修剪一个周期。
注意:Tableau 需要时间系列中具有至少 5 个数据点才能预测趋势,以及具有用于至少两个季节或一个季节加五个周期的足够数据点才能估计季节性。
新学期开始了,要开始提前准备工作了,需要适当把作业完成时间拉长。本来想今天一天就完成exercise04,但是工作上的事情还有很多,健身定投还需要俩小时,所以就留待明天吧。
学号:1901050017
学习内容:exercise 04
学习资料:tableau官方预测视频教程+高级图表制作视频,wikipedia,其他补充学习资料
学习天数:013
学习时间:4小时
昨天查阅了资料,今天完成了exercise 04
貌似找到了高效学习的流程。先去总结相应概念,当然不是照抄,而是理解后总结成概念表格,包括主要用途和应用场景。再接着看视频,顺着感兴趣的点不停地挖,也许会走歪,但是知识肯定能理解地相对透一些。
遇到障碍,不要着急,哪怕很想解决,也可以放一放,其实这时脑子里还是会给障碍留些位置。吃饭,工作,运动的时候都会想着它,并行开展,不知道哪个时候就会找到解决办法,正好其他事情也都做完了。
今天实践了一把新技能,我用手头的简单数据可视化了。其中思考和数据整理的过程,正好是强化概念的好机会。
学号:1901050017
学习内容:exercise 05 安装
学习天数:014
学习时间:8小时
卡在了第一步安装,大约8小时,现在晚上21:58分,终于搞定了。
在readme里给了github安装地址,但是本身我就对终端有抵触,基础不太好,所以一看到是终端安装,心里就咯噔一下。之后就开始了漫长的尝试-错误,再尝试-再错误的循环。
打开tableau desktop,点击帮助
,选择设置和性能
,再选择管理外部服务连接
,按照下图,选择和输入:
点击测试连接,如果成功会出现:
在tableau 工作表中,创建计算字段
中发现多了以下四项,就可以了。
总结一下,对终端不熟悉,在心情紧张的情况下,大脑完全停摆,其实早就应该在github行不通的情况下,去google上搜索,又加上总怕在终端上瞎试会导致死机,畏手畏脚。好在最后鼓捣成功了,又给自己上了一课,真的不能自己吓自己,恐惧是学习路上的绊脚石。
学号:1901050017
学习内容:exercise 05 "hello word to Machine Learning"
学习天数:015
学习时间:4小时
通过看《Your First Machine Learning Project in Python Step-By-Step》、《 Machine learning-Iris classification》了解了机器学习的大概。
监督学习:训练样本包含对应的标签
无监督学习:训练样本的属性不包含标签,没有标签可对应,根据相似性对训练样本进行分类,如根据上网行为对客户分群从而进行精确营销。
机器学习中不得不提鸢尾花数据集,在机器学习过程中,它就和python学习里的“Hello World”一样出名,它有三类,在数据集里有150个样本,每个样本有4个特征:花萼长度,花萼宽度,花瓣长度,花瓣宽度,非常适合入门机器学习。
教练已经把准备工作都做好了,在给的代码中,包括导入相关库,导入样本数据,切分训练和测试数据,我看到了,是按照八二分的,样本数据集中20%用做测试数据,把预测函数传到tabpy服务器。
我看到是用Knn邻近分类算法来预测测试样本,它是用欧式距离来确实测试数据属于样本数据中的哪类。
欧式距离:在数学中,欧式距离是欧几里得空间中两点间“普通”(即直线)距离。
欧式距离公式:
那么knn算法中参数k值也就是代码中n_neighbors的值需要提前确定,值越大,分类边界越平滑,在鸢尾花这个数据中,也就是三类样本数据分布图中,这三类的边界线越平滑。
knn算法的优点:简单直观,易于实现,只需要依靠样本本身就可以实现。
教练布置的作业指令步骤很清晰,按照要求就能完成作业。
其中有一项,是要求观察终端窗口的活动,来尝试理解tableau调用python的过程。
我调试四个参数时,随着参数变化,窗口的变化。
学号:1901050017
学习内容:exercise 06 Numpy 入门
学习天数:016
学习时间:5小时
readme里给出了官方入门的链接,读的时候发现有ipython版本,在jupyter lab里打开后,发现太方便了,代码可以随时运行,就像李笑来老师说的,任何编程书籍都用ipython版本来看的话,编程学习就变得具象化可执行了。(但是有一点numpy tutorial里的print没有加括号,如果在jupyter lab里用python 3直接运行,会有错误。我没有安装python2.7,只能用最笨的方法,在想运行的代码块的print加括号,如果是多个print,就用cmd 点击多处,可以一次性在多个地方加括号。)
它先介绍了学习numpy所需的python最少必要知识,很快就进入了numpy学习,高效简洁。顺便记录一下,因为最近都是看英文文档和文献,在看其他英文书籍的时候,发现无论是单词掌握和阅读速度都大幅提高,甚至是和大女儿聊天时,她都说我的口音好了很多,但其实我一直都是默读的。所以我更加要坚持以英文为主,中文为辅。
先回答两个问题:
数据的维度:一维数据、二维数据、多维数据、高维数据
Numpy很重要,是因为它可以高效处理大数组的数据。而数据按维度分有以上几类。
已有列表类型,为什么需要一个数组对象(类型)? • 数组对象可以去掉元素间运算所需的循环,使一维向量更像单个数据 • 设置专门的数组对象,经过优化,可以提升这类应用的运算速度 • 数组对象采用相同的数据类型,有助于节省运算和存储空间
NumPy是数据处理及可视化时的利器。在 Python的圈子里,NumPy 的重要性和普遍性日趋增强。换句话说,为了高效地使用基于 Python 的用来科学和数学计算的工具,就需要知道如何使用 numpy 数组。
在通过readme里的文档连接学习中,了解了numpy数组的相关知识。有两个问题不太明白,通过问教练,大致了解了,并顺利完成了作业6.
查找相关知识时,了解到学习numpy都是为了数据分析来做准备,例如数组函数、数组的索引和切片,数组转置和轴对换以及数组运算。
学号:1901050017
学习内容:"numpy"深入学习
学习天数:017
学习时间:1小时
exercise07作业下午收到了,但是由于工作有些忙就没有开始做。
但是在上午的时候,一直在看mooc的numpy课程,学习了各种函数的用法,提前学习的好处就是拿到作业7的时候,发现内容和上午学的重合了,不会那么紧张。
明天或者后天开始做作业7。
学号:1901050017
学习内容:exercise 07 Numpy 函数学习
学习天数:018
学习时间:2小时
07作业是Numpy函数的深入学习。
我该用jupyter notebook
来学习和总结Numpy函数,因为可以用概念和代码结合的方式来更好地总结。
学号:1901050017
学习内容:exercise 07 Numpy 函数学习
学习天数:019
学习时间:4小时
07作业已提交。
jupyter notebook太好用了,赞美啊!真的是学习、教学利器。
学号:1901050017
学习内容:exercise 08 Numpy 高级操作学习
学习天数:019
学习时间:2小时
a = np.array([1, 2, 3, 2, 3, 4, 3, 4, 5, 6])
b = np.array([7, 2, 10, 2, 7, 4, 9, 4, 9, 8])
np.where(a==b)
(array([1, 3, 5, 7]),)
np.random.seed(100)
arr = np.random.randint(1, 6, size=[8, 4])
print(arr)
idex = np.lexsort([arr[:,1], arr[:,0]])
print(arr[idex, :])
[[1 1 4 1] [3 5 3 3] [3 3 2 1] [1 5 4 5] [3 1 4 2] [3 4 5 5] [2 4 5 5] [4 4 4 2]] [[1 1 4 1] [1 5 4 5] [2 4 5 5] [3 1 4 2] [3 3 2 1] [3 4 5 5] [3 5 3 3] [4 4 4 2]]
学号:1901050017
学习内容:exercise 08 尝试完成作业
学习天数:020
学习时间:2小时
根据作业顺序,学习了numpy高级函数:numpy.ptp
,numpy.bincount
,numpy.vectorize
,numpy.cumsum
,numpy.linalg.norm
,numpy.isnan
,numpy.where
急于完成作业,今天的心得没有概念总结。明天一定。
学号:1901050017
学习内容:exercise 08 总结高级函数概念+作业8完成
学习天数:021
学习时间:5小时
Numpy这些高级函数在以后的数据分析中都很有用处,我研究了一下pandas和matplot都经常会用到numpy的高级用法。 最近拉长作业完成时间和深入学习时,有一个感受,学习热情降低了。看来我还是适合沉浸式学习体验,等到周末的时候好好体验一把。
作业总结:
这次的作业,里面的题目都是围绕着孰知应会的函数,怎样应用这些函数。
让我印象深刻的有np.histogram
,np.ptp
, np.unique
, np.percentile
,np.choice
, np.argmax
。用文字需要很长的一句话来描述要求,但是用一行函数就能表达出来,当然需要深刻理解函数的应用。
比如:计算数组在区间的个数,我一直是想用bincount
的,但是在做完函数总结后,发现histogram太方便了,而是非常适合这道题;重复元素太多时unique
就很合适;计算出现元素中最多的用argmax
显然就比其他的函数要合适。
之前说过拉长时间让我热情减低,但是做完作业才发现,拉长时间加深学习概念和周边知识还是很有用的,要不然这作业不知道得耗到什么时候了。
概念总结:
学号:1901050017
学习内容:exercise 09 Numpy在图像中的应用
学习天数:021
学习时间:2小时
卡住了。 在macbook进行作业的第一步--运行给定代码时,出现了错误 试了一种在文件里添加函数的方法,没有成功。
回到家用台式机运行时出现了另一种错误---提示没有opencv。
于是尝试安装:pip install opencv
, 显示错误,于是去stackflow寻找答案,发现应该这样安装:pip install opencv-python
,于是运行成功,在笔记本上的运行错误也没有在台式机出现。
今天就到这里,明天再开始作业和尝试概念总结。
学号:1901050017
学习内容:exercise 09 学习图像和图库
学习天数:022
学习时间:2小时
<Numpy 图像数组表示及应用>
图像一般都采用一种颜色模式:RGB色彩模式。 RGB三个颜色通道的变化和叠加得到各种颜色:
R:red,红色。取值范围:0-255 G:green,绿色。取值范围:0-255 B:blue,蓝色。取值范围:0-255 RGB形成的颜色包括了人类视力所能感知的所有颜色。
实际上,图像是由一个像素组成的二维矩阵,每个元素是一个RGB值。
图像是一个三维数组,纬度分别是高度、宽度和像素RGB值。
什么叫矩阵?Matrix:The matrix class is a Python subclass of the ndarray and can be used as a reference for how to construct your own subclass of the ndarray. 为什么叫numpy.mat, 因为mat是matrix的别名:The name “mat “is an alias for “matrix “in NumPy.
matplot 它是python的一个绘图库。
opencv
它是一个开源的跨平台视觉库,其中有python的接口,当然也有其他语言的。
有一点需要注意python加载opencv图像时是BGR模式,而matplot是RGB模式。
读取方式也不同,在"exercise09.ipynb"里,这一块是用opencv将图转化为灰度图的,但是读取时用的是matplot方式,所以,需要加入参数cmap = 'gray'
,才能成功读取。如果直接是用opencv读取,代码为:cv2.imshow(gray_image)
学号:1901050017
学习内容:exercise 09 做作业
学习天数:023
学习时间:40分钟
依然没有解决笔记本的问题,只能等到回家用台式做作业。而用笔记本来先学习知识,回家实践。
翻转彩色图像
图像剪裁
图像边框
这些opencv会用到多点。 对于计算机来说,所有图像都是数值矩阵,那么各种操作大多围绕着使用矩阵。所以其实又可以说是数字图像。 基于此我展开了学习。 明天把学习笔记发在这上面。最近无法平衡工作和学习,导致进度变慢很多,希望周末能好好沉浸沉浸。
学号:1901050017
学习内容:exercise 09 做作业
学习天数:024
学习时间:2小时
历时7天完成了作业09。一方面是开学初工作繁忙,家庭琐事放在首位,于是作业就拖到了现在。
要替换的图[行起点+马赛克行*10:行止点+马赛克行*10,列起点+马赛克列*10:列止点+马赛克列*10] = 马赛克图[马赛克行,马赛克列]
短期专注和长期专注都很重要,在完成作业的时候,需要认真看资料,以完成作业为目的。但是长期的专注,是在其他时间,仔细看所有的有关文字和视频资料,有关作业的,无关作业的都会看。其实,就算在做其他事情,这时关于作业的部分也不会停止思考,有时会突然灵光一现,难题解开了,下午我就经历了一回。还是得提醒自己,不要被陌生的名词吓到,什么掩码,分离通道等等,细心研究资料,答案都在里面。
学号:1901050017
学习内容:exercise 10 pandas
学习天数:025
学习时间:5小时
时隔一周多,又重启学习心得的更新。
作业做到了10,就遇到了不可抗力的终止。但是思考一下,自学是不可能被终止的,除非自己想终止。那么我的学习又继续开始了。
作业10 早已完成,现在为概念总结。
Pandas 是基于 NumPy 的一种数据处理的第三方库,该工具为了解决数据分析任务而创建,提供了高性能易用的数据类型和使用工具。
Pandas拥有自己的读写.csv文件的函数,尤其在数据清洗任务中有着优势。它是对数据有索引作用的
Series 类型
由一组数据以及与其相光的数据索引组成
索引不同
还可以自定义索引
类型分类
Series操作
注意:切片加冒号,b[:3]是value+index
Series对齐操作
Series类型会在运算中自动对齐不同索引的数据,如果其中一个series没有相应索引,那么和为NaN。
Series类型的修改
可以随时修改并立即生效
Series是一维带标签的数组
基本操作和ndarray、字典类似,是基于索引,而不是维度。
学号:1901050017
学习内容:exercise 10 DataFrame
学习天数:026
学习时间:2小时
dataframe是一种表格类的数据类型,每列值类型各有不同。既有行索引,又有列索引。
dataframe常用于二维数据,又可用于多维数据。
从二维数据创建
从一维字典创建
从列表类型的字典创建
DataFrame是二维带标签的数组。
DataFrame类似于Series,依据行列索引。
Series和DataFrame的索引都是index类型,index对象是不可修改类型。
索引类型有一些常用方法:.append
,.diff
,.intersection
,.union
根据行列索引,补齐后运算,运算默认产生浮点数。
补齐时,缺项填充NaN值
二维和一维,一维和零维间为广播运算。
采用+
,-
,*
,/
的符号进行的二维运算会产生新对象。
例子:
Fill_value
参数替代NaN,替代后参与运算。
一维Series默认在轴1参与运算
一维Series可以在参数的帮助下在轴0参与运算
只能在相同索引的元素,不进行补齐
二维和一维,一维和零维间广播运算。
不同维度,默认在1轴。
学号:1901050017
学习内容:exercise 10 DataFrame
学习天数:027
学习时间:1小时
利用sort_index
来进行索引排序,默认升序。
利用sort_values
来进行数值 排序,默认升序。
Series.sort_values(axis = 0, ascending = True)
DataFrame.sort_values(by,axis = 0, ascending = True)
by
是axis轴上某个索引或索引列表。
注:NaN统一放到排序末尾
学号:1901050017
学习内容:pandas groupby
学习天数:028
学习时间:1.5小时
.read_csv
引入一个数据集
url = 'https....'
chipo = pd.read_csv(url. sep = '\t')
groupby()
操作在使用pandas进行数据分析时,groupby()
函数将会是一个数据分析辅助的利器。
当对Groupby
调用时返回的不是DataFrame或者Series对象,而是DataFrameGroupBy对象。
groupby参数
groupby(by=None, axis=0, level=None,as_index=True, sort=True, group_keys=True, squeeze=False, **kwargs)
用于确定groupby的组。如果by是一个函数,那么会调用对象索引的每个值。 如果传递了一个dict或Series,则将使用Series或dict的值来确定组。 一个str或者一个strs列表可以通过自己的列传递给group。
axis:轴,int值,默认为0
level:如果axis是一个MultiIndex(分层),则按特定的级别分组。int值,默认为None
as_index:对于聚合输出,返回带有组标签的对象作为索引。as_index=False实际上是“SQL风格”分组输出,boolean值,默认为True。
sort:排序。关闭此功能以获得更好的性能。boolean值,默认True。
group_keys:当调用apply时,添加group key来索引来识别片断。boolean值,默认True。
squeeze:尽可能减少返回类型的维度,否则返回一致的类型。boolean值,默认False。
举例
c = chipo.groupby('item_name')
pring(c)
<pandas.core.groupby.groupby.DataFrameGroupBy object at 0x11c0bd358>
从结果可以看出是DataFrameGroupBy对象,那么需要按照GroupBy
对象中具有的函数和方法进行调用。
.sort_values
c = chipo.groupby('choice_description').sum()
c = c.sort_values(['quantity'], ascending=False)
c.head(1)
以‘quantity’排序,这里面的sort_values是groupby的操作。
学员信息
学习笔记
学习心得:
作业的前半部分,是自行查找数据分析所需要的一些统计学知识。不论是看khanacademy的教学视频还是在wikipedia,Google自行查找相关知识,在实际执行的过程中我渐渐明白了这种布置作业的的好处:概念随着反复搜索,不断地加深印象和巩固。
无论是选择wikipedia去了解概念还是选择khanaacademy观看视频,我都会选择英文界面读,虽然这无形中拉长了完成作业时间,但好处确实显而易见:都是一手资料,英文wikipedia是不断更新的,扩充知识比中文多;在khanacademy网站上看比网易公开课收录的版本要更全,而且还有练习题帮助巩固概念;毕竟统计学这些知识,英文版本是一手资料,随着以后需要学的知识越来越多,早早地完成全英文阅读比较好。
目前,我已查找补充完10个统计学概念,并看完了相关视频。接下来是学会使用tableau的部分了