小数志

其他

年薪40w+,没有年龄焦虑!大数据开发工程师,真香!

大数据是眼下超级时髦的技术名称之一,大数据行业的火爆发展也自然衍生出了一些与大数据相关的职业,比如大数据开发工程师、数据分析师、数据工程师等等。作为IT类职业中的“新贵”,大数据开发工程师的收入待遇可以说达到了同类的天花板。据不完全统计,2022年,一名初入行的大数据工程师的月薪轻松过万,有几年工作经验的数据工程师薪酬普遍在40万~160万之间,顶尖的大数据技术人才,年薪更是轻松破百万。不仅如此,他们的就业范围相当之广,IT、通讯、大型国企、银行、金融、物流等各行各业招聘中,超过10%都是和大数据相关的。就算互联网大厂正经历寒冬的时刻,疯狂裁员,大数据人才也根本不怕失业。而最重要的是,大数据开发工程师往往不用在意年龄对自己的限制。因为搞大数据不是简单的编程,编程的份量连1/6都不到,更多时候需要你从业务、服务器、存储、计算、运维等多个方面来综合分析解决问题。所以,在大数据行业通常是“历久弥香”经验越丰富,越能得到肯定,这也是很多资深IT人士分析大数据可能带来50、60岁“老”专家的原因。面对如此光明而诱人的前景,你还不赶快给自己安排上?为了让大家尽快实现技术升级,早日匹配高薪岗位,Emeritus易睿拓思联合麻省理工学院,引进了《大数据开发工程师》课程。
2022年6月8日
其他

【XAI】可解释性人工智能导论!

陶大程澳大利亚科学院院士,京东探索研究院首任院长,兼任悉尼大学数字科学研究所顾问及首席科学家。主要关注可信人工智能研究,尤其是深度学习的基础理论、大规模模型分布式训练以及相关的机器视觉应用。
2022年6月1日
其他

Pandas vs Spark:获取指定列的N种方式

导读本篇继续Pandas与Spark常用操作对比系列,针对常用到的获取指定列的多种实现做以对比。注:此处的Pandas特指DataFrame数据结构,Spark特指spark.sql下的DataFrame数据结构。无论是pandas的DataFrame还是spark.sql的DataFrame,获取指定一列是一种很常见的需求场景,获取指定列之后可以用于提取原数据的子集,也可以根据该列衍生其他列。在两个计算框架下,都支持了多种实现获取指定列的方式,但具体实现还是有一定区别的。01
2021年3月25日
其他

Pandas vs Spark:数据读取篇

导读按照前文所述,本篇开始Pandas和Spark常用数据处理方法对比系列。数据处理的第一个环节当然是数据读取,所以本文就围绕两个框架常用的数据读取方法做以介绍和对比。数据读取是所有数据处理分析的第一步,而Pandas和Spark作为常用的计算框架,都对常用的数据源读取内置了相应接口。总体而言,数据读取可分为从文件读取和从数据库读取两大类,其中数据库读取包含了主流的数据库,从文件读取又区分为不同的文件类型。基于此,本文首先分别介绍Pandas和Spark常用的数据读取API,而后进行简要对比分析。01
2021年3月20日
其他

EMPS:个人做数据分析处理的4重境界

导读自从事数据科学行业以来,便每天在与各种数据处理打交道,当然这里的数据处理是多方面的:既有数据采集和读写,也有数据清洗与变换,当然还有数据分析和挖掘。从主用工具的角度来看,大体上经历了这4重境界:Excel->MySQL->Pandas->Spark,姑且就称之为EMPS吧。个人数据分析与处理经历的4重境界对照这4种数据处理工具,计划开展系列学习与对比推文,本期做为开篇之作,仅做以概要介绍。4种工具严格来讲其实并无实质性联系,除了它们都可用于基本的数据分析与处理。相对而言:Excel,几乎零学习门槛,应该是所有职场人都掌握的通用办公软件,但对于一名数据从业者而言,它可以占据一席之地(曾经数据分析师的入门套餐就是ESP,即Excel+SQL+Python)。个人对Excel的比较喜欢的一点是内置了常用的数据处理函数、支持数据透视表以及方便制作可视化图表等,但也仅适用于小量数据,基本上上万条以上记录用Excel就难免有些捉襟见肘了;MySQL,作为最流行的关系型数据库之一(当前关系型数据库行业生态可概括为2+2+1,即2付费Oracle+SQL
2021年3月17日
其他

Scala入门系列终章:类与对象

导读截至本篇,Scala入门系列即将告一段落,先后用7篇文章将Scala语言的四梁八柱进行了简要介绍,虽然阅读量相较于其他文章更为惨淡,但相信对于有一定编程语言基础又想快速入门Scala的读者来说还是会有一定收获和借鉴的。本文作为该系列的最后一篇,将重点介绍Scala中类和对象的概念,毕竟Scala也是一门面向对象的编程语言。坦白讲,个人在学习Scala中这一部分内容时其实也是有些凌乱的,一直觉得未能理解到Scala中类和对象的精髓,所以当下完成此文也仅仅是出于系列内容的完整性,后续也将适时推出其他分享。首先给出Scala快速入门系列的文章列表,自认为掌握这些内容即可开始一些编程实战和进阶了。终于,为了大数据分析我还是开启了Scala学习之路Scala从零起步:变量和标识符Scala从零起步:运算符就是个控制结构,Scala能有什么新花样呢?Scala中的方法与函数曾经以为Python中的List用法足够灵活,直至我遇到了Scala…延续以上6篇推文,本文介绍类和对象,主要包括:关于面向对象的理解类、对象和特质伴生类(对象)、抽象类、样例类01
2021年2月27日
其他

就是个控制结构,Scala能有什么新花样呢?

导读编程语言中最为基础的一个概念是控制结构,几乎任何代码都无时无刻不涉及到,其实也就无外乎3种:顺序、分支和循环。本文就来介绍Scala中控制结构,主要是分支和循环。Scala中的控制结构实质上与其他编程语言并无太大差别,需要注意的是Scala中的控制结构大多具有返回值,而其他编程语言中的控制结构一般就仅仅是用于流程控制。本文主要目录如下:分支结构if-elsematch-case循环结构for循环while循环do-while循环break和continue01
2021年2月20日
其他

Scala中的方法与函数

导读封装是计算机编程语言中最基本但也十分经典的思想(更严谨地说封装是面向对象设计中的一种思想),例如将一段频繁用到的逻辑写成一个函数的过程,其背后蕴含的其实就是封装的思想。与众多编程语言类似,Scala中也提供了方法和函数的功能,但在具体使用上又有很多特别之处,甚至一定程度上可以彰显Scala的设计理念。本文旨在介绍Scala中方法和函数的常用用法,对一些少用而略显怪异的功能不予关注。主要行文目录如下:方法的常用用法标准定义参数默认值、带名传参和不定长参数参数列表缺省return缺省返回值类型缺省等号缺省大括号缺省函数的常用用法标准定义偏应用函数和偏函数柯里化函数高阶函数二者的联系与区别方法主要用于类和对象,函数主要用于传参和返回值函数是一个对象,可以赋值给一个变量二者可以部分转化01
2021年2月18日
其他

转岗大数据了,先用数据看看行情

导读作为一名数据从业者,当然干什么事都喜欢用数据说话。2020年上半年,在个人正式入职数据分析师前,专门从数据分析的角度探索了一把数据分析师就业现状,近日,刚好自己开启大数据岗位,所以就再分析下大数据相关岗位就业招聘现状,仅供参考。数据来源:以某直聘平台为数据来源,以“大数据”为关键词,设置搜索条件为:杭州市规模在10000人以上的上市公司。由于平台限制仅可显示10页,每页30条招聘信息,除去个别无效记录,最终获取有效数据大概在280条招聘记录。当然,由于这里仅获取到了10页数据而并非海量数据,所以样本排序先后将对数据真实分布有一定影响。分析目标:为了从多角度描述大数据岗位就业现状,拟从以下几个方面着手分析:大数据岗位画像,包括岗位类型分布,公司分布、区域分布、招聘学历要求、工作经验要求、薪资分布主要技术栈,主要是利用招聘岗位标签信息,分析大数据岗位招聘技能需求,并对头部企业进行细分影响薪资因素,包括分析各区域、各公司、各岗位类型以及各技能对应的薪资分布情况薪酬福利情况,简单分析大数据岗位整体福利词云注:因样本数据随机性以及分析结果主观性,本文所属观点结论仅供参考!01
2021年2月6日
其他

这一年,我总结了这些Pandas小技巧……

无论从各种时间纪元来看,2020年都已接近尾声,这一年里自己从一名数据分析师起步,目前算是平稳上岸。学习和工作之余,也能保持持续性的技术总结和输出。Pandas是个人非常喜欢的数据分析框架,接口丰富且直观易懂,处理效率还很可观,对于千万级别以下的数据量完全不在话下,所以一年来写作最多的其实当属Pandas系列文章。目前基本已涵盖了常用的各种小技巧,现硬核整理如下,点击关键字即可跳转直达:属性接口
2021年2月3日
其他

曾经以为Python中的List用法足够灵活,直至我遇到了Scala…

导读继续开工Scala系列专题,虽然对自己来说这是一个全新的方向和足够的挑战,阅读数也很是惨淡,但选择了方向就要坚持下去——生活中的获得感不正是源于一个个挑战和抉择之间吗!言归正传,前期分别完成了Scala中的变量标识符和运算符的分享,本文重点介绍Scala中的常用集合类数据结构(scala.collection),当完整了解这个包的构成以及各数据结构的常用方法后,你会再次认识到Scala语法的强大和奔放,以至于让我一度质疑“Python语法足够简洁”的论断。开篇引题:程序=数据结构+算法,对于一个良好的编程实现来说二者缺一不可。而对于数据结构,除了特定框架的特有数据结构外(例如Spark框架的RDD、DataFrame,Pandas框架的DataFrame),其实更为通用的其实还是那些经典数据结构,例如数组、链表、集合、字典等等,这也是绝大多数编程语言的通用设计。当然,还有很多其他数据结构,例如栈、队列、树和图等,其底层大多可以基于这些基础的数据结构进行表示和实现。具体而言,本文主要介绍Scala中的以下5种经典的集合类数据结构:ArrayListSetMapTuple01
2021年1月31日
其他

Panda处理文本和时序数据?首选向量化

导读Pandas作为Python数据分析的首选框架,不仅功能强大接口丰富,而且执行效率也相比原生Python要快的多,这是得益于Pandas底层由C实现,同时其向量化执行方式也非常利于并行计算。更重要的是,这种向量化操作不仅适用于数值计算,对于文本和时间格式也有着良好的支持,而这就不得不从Pandas的属性接口谈起。Pandas中的向量化,就像6个Pandas一样说起Pandas中的属性接口,首先要从数据类型谈起。在任何一门编程语言中,虽然各自的数据类型有很多,比如数值型有int、long、double,字符串有str或者char类型,还有时间数据类型以及布尔数据类型等,可以说这数值型、字符串型、时间型以及布尔型基本覆盖了所有基本的数据类型。而像其他的数组、列表、字典等则都是集合类的数据结构,不属于基本数据类型。数值型操作是所有数据处理的主体,支持程度自不必说,布尔型数据在Pandas中其实也有较好的体现,即通过&、|、~三种位运算符也相当于是实现了向量化的并行操作,那么对于字符串和时间格式呢?其实这就是本文今天要分享的重点内容:属性接口——str、dt,两类接口均用几个小例子简单粗暴的进行示范,即学即用!严格意义上讲,Pandas中的属性接口除了str和dt外,还有枚举类型cat接口,但其实用法很小众,所以本文不予提及。01
2021年1月30日
其他

Scala从零起步:运算符

导读继续Scala从零起步系列,在前文分享变量和标识符的基础上,本文介绍Scala中的运算符。简单地说,Scala中的运算符和其他编程语言中的运算符并无太大区别,更多都是相同或者相近的,但是出于系列文章的内容完整性,仍然单开此文对其予以介绍。如同多数编程语言中的那样,Scala中的运算符可概括为:数学运算符关系运算符逻辑运算符位运算符特殊运算符01
2021年1月26日
其他

Pandas中的这3个函数,没想到竟成了我数据处理的主力

导读学Pandas有一年多了,用Pandas做数据分析也快一年了,常常在总结梳理一些Pandas中好用的方法。例如三个最爱函数、计数、数据透视表、索引变换、聚合统计以及时间序列等等,每一个都称得上是认知的升华、实践的结晶。今天,延承这一系列,再分享三个函数,堪称是个人日常在数据处理环节中应用频率较高的3个函数:apply、map和applymap,其中apply是主角,map和applymap为赠送。数据处理环节无非就是各种数据清洗,除了常规的缺失值和重复值处理逻辑相对较为简单,更为复杂的其实当属异常值处理以及各种数据变换:例如类型转换、简单数值计算等等。在这一过程中,如何既能保证数据处理效率而又不失优雅,Pandas中的这几个函数堪称理想的解决方案。为展示应用这3个函数完成数据处理过程中的一些demo,这里以经典的泰坦尼克号数据集为例。需要下载该数据集和文中示例源码的可后台回复关键字apply获取下载方式。01
2021年1月24日
其他

Scala从零起步:变量和标识符

导读上周,开启了作为大数据分析师学习Scala系列第一篇推文,旨在提纲挈领的介绍Scala理念、特性及开发环境安装。今天开始进入Scala从零起步正题:变量和标识符。在学习一门编程语言过程中,变量应该是继输出“hello,world”之后的第一个核心概念:在计算机程序的世界里,变量可看做是连接程序员和二进制字节码之间的桥梁。一般而言,程序员所说的变量是通常是指代一个或一组数据,然而按照Scala的价值观,函数其实也可算作变量。甚至广义的辩证来讲,一段程序代码中绝大多数部分都是由各种变量组成的。作为入门第一课,本文所指代变量当然仅特指狭义的“变量”——即指代一个或一组数据的变量。本文主要分享三个问题:如何定义一个变量变量的数据类型变量/标识符命名规范01
2021年1月21日
其他

因Pandas版本较低,这个API实现不了咋办?

'explode'!好吧,好用的东西永远都是娇贵的,这个道理没想到在代码中也适用。所以,今天就以此为题展开拓展分析,再输出一点Pandas干货……问题描述:一个pandas
2021年1月19日
其他

终于,为了大数据分析我还是开启了Scala学习之路

导读要问当下最热门的IT技术,大数据可占一席之地;要问当下最网红的IT岗位,数据分析师也必将榜上有名。二者结合,自然就是大数据分析师。所谓大数据分析,个人理解就是在传统数据分析思维和技能的基础上,加持大数据工具,而Spark作为一个优秀的分布式计算框架,自然可作为大数据分析的必备技能。进一步地,虽然Spark提供了4种主流语言,其中不乏Python这种网红,但Scala作为Spark的原生开发语言,仍不失为应用Spark开发的首选。基于以上考虑,我终于还是入坑了Scala的学习之旅——尽管Scala实际上属于一门小众语言,小众到似乎除了Spark甚至没什么用武之地!本文作为Scala系列开篇之作,主要分享3个问题:Scala是一门什么样的语言?Scala具有哪些特点?Scala开发环境如何搭建?01
2021年1月16日
其他

Pandas用的6不6,来试试这道题就能看出来

导读近日,在实际工作中遇到了这样一道数据处理的实际问题,凭借自己LeetCode200+算法题和Pandas熟练运用一年的功底,很快就完成了。特此小结,以资后鉴!题目描述:给定一组用户的多次行为起止时间表,由于相邻行为之间可能存在交叉(即后一行为的开始时间可能早于前一行为的结束时间),所以需根据用户ID对其相应的起止时间信息进行合并处理。不失一般性,模拟示例数据如下:在上述示例数据中,用户A和用户B的多组行为间,均存在一定的起止时间交叉,例如用户A的两个行为起止时间分别为[3,
2021年1月8日
其他

再见,Excel数据透视表;你好,pd.pivot_table

导读Excel作为Office常用办公软件之一,其在一名数据分析师的工作日常中也占有一定地位,比如个人就常常倾向于依赖Excel完成简单的数据处理和可视化作图,其中数据处理部分则主要是运用内置函数+数据透视表两大部分。Excel数据透视表虽好,但在pandas面前它也有其不香的一面!01
2020年12月8日
其他

用Pandas做数据清洗,我一般都这么干……【文末送书】

导读作为一名数据分析师,每天都在完成各种数据分析需求,其中数据清洗是必不可少的一个步骤。一般而言,当提及数据清洗时,其实是主要包括了缺失值处理、重复值处理和异常值处理三类操作,本文即围绕这这三个方面介绍一下个人的一些习惯操作。文末送书01
2020年11月30日
其他

详解pd.DataFrame中的几种索引变换

导读pandas中最常用的数据结构是DataFrame,而DataFrame相较于嵌套list或者二维numpy数组更好用的原因之一在于其提供了行索引和列名。本文主要介绍行索引的几种变换方式,包括rename与reindex、index.map、set_index与reset_index、stack与unstack等。惯例开局一张图01
2020年11月7日
其他

Pandas用了一年,这3个函数是我最的最爱……

导读作为一名数据分析师,也是Pandas重度依赖者,虽然其提供了大量便利的接口,但其中的这3个却使用频率更高!本文主要介绍pandas.DataFrame的三个接口,即assign、eval、query,分别用于赋值、查询和执行计算。注:本文短平快,5分钟可完成阅读了解3个高效的接口。01
2020年10月31日
其他

写在1024:一名数据分析师的修炼之路

导读大家都把今天当做是程序员的节日,那么自己也想凑个热闹在这个有意义的日子里,将自己一年来修炼数据分析师的亲身经历做以分享,以求对他人有所借鉴。注:全文无图,只有干货。大概在一年多以前自己重新思考职业归属的时候,恰巧当时网络开始大范围疯传数据分析师的各种培训课程、Python也越来越成为网红语言,受此大环境的熏陶和感染,自己逐渐入坑数据分析,从此数据分析师的圈子里便多了一名新人——当然,这里的新无关乎年龄。时至今日,自己早已正式从事数据分析师一职数月有余,在目睹网络炒作所赋予的职业属性之外,对这个角色和岗位有了更多的亲身感触和认知,虽然与资深数据分析师仍相去甚远,但至少也算是有了一点体会和发言权。下面主要从数据分析师的技能需求、自身学习历程和长远发展定位三个方面做以分享。01
2020年10月24日
其他

一名数据分析师的Python学习历程

导读前期,将自己完整的SQL学习历程尽可能详细的总结了一遍,后台也收到了一些读者的反馈,并私信交流Python的学习历程,恰好这也在个人的计划之中。私以为,相较于SQL这种知识体系相对单一、内容体量有限(是指常用操作范围,如果想成为数据库专家自然也是学海无涯的)的知识,分享Python的学习历程要复杂得多。一方面。编程语言本身要涉及计算机组成原理、部分数学基础、数据结构与算法等等,要求更为综合;另一方面,各种编程语言之间也相对互通,若有一门编程语言的基础的情况下再学其他编程语言就会相对容易得多。所以,本篇仅就自身在学习Python过程中的基本路径进行总结。01
2020年10月6日
其他

最近,我用pandas处理了一把大数据……

导读pandas是python数据分析的不二选择,堪称瑞士军刀般的存在,几乎可以胜任数据分析的全过程。如果说有什么缺点的话,那么就是其不支持分布式,所以对于小数据量完全不压力,但面对大数据时却当真有些乏力。近日,自己便用pandas处理了一些大数据场景,现分享几个心得技巧。首先简单介绍下场景:数据是每个月一份的csv文件,字段数目10个左右,单个文件记录数约6-8亿之间,单个文件体积50G+的样子。表中是一条条的带有时间字段的数据,需求是对数据进行汇总统计和简单分析处理(一般而言,数据量巨大的需求处理逻辑都不会特别复杂)。所以,虽然标题称之为大数据,但实际上也没有特别夸张。01
2020年10月2日
其他

一名数据分析师的SQL学习历程

导读一直认为,扎实的SQL功底是一名数据分析师的安身立命之本,甚至可以称得上是所有数据从业者的基本功。当然,这里的SQL绝不单单是写几条查询语句那么简单,还包括数据库本身的DDL、DCL、查询调优和锁机制等等也都是要很熟练的;甚至再进一步外延,数据仓库也可作为进阶要求。随着近期SQL用的越来越少,感觉有必要总结下一年来自己在SQL方面的学习历程,以资借鉴。个人SQL学习之路是以最为广泛使用的数据库之一——MySQL为对象展开学习的,下面主要从书籍、视频、刷题和文档4个部分展开介绍,这4个部分本身并无先后之分,甚至是会有经常性交叉和重复,唯有多源资料相互促进、不断深化,方可温故知新。01
2020年9月20日
其他

PySpark ML——分布式机器学习库

导读继续PySpark学习之路,本篇开启机器学习子模块的介绍,不会更多关注机器学习算法原理,仅对ML库的基本框架和理念加以介绍。最后用一个小例子实战对比下sklearn与pyspark.ml库中随机森林分类器效果。01
2020年9月12日
其他

Spark Core——RDD何以替代Hadoop MapReduce?

遇到action算子,将上述rdd=>rdd1=>rdd2=>rdd3有向无环图真正执行,并返回列表相关阅读:PySpark——开启大数据分析师之路PySpark
2020年9月9日
其他

PySpark SQL——SQL和pd.DataFrame的结合体

导读昨日推文PySpark环境搭建和简介,今天开始介绍PySpark中的第一个重要组件SQL/DataFrame,实际上从名字便可看出这是关系型数据库SQL和pandas.DataFrame的结合体,功能也几乎恰是这样,所以如果具有良好的SQL基本功和熟练的pandas运用技巧,学习PySpark
2020年9月6日
其他

PySpark——开启大数据分析师之路

PySpark主要功能介绍Spark作为分布式计算引擎,主要提供了4大核心组件,它们之间的关系如下图所示,其中GraphX在PySpark中暂不支持。RDD(Resilient
2020年9月5日
其他

数据科学系列:sklearn库主要模块功能简介

导读作为一名数据分析师,当我初次接触数据分析三剑客(numpy、pandas、matplotlib)时,感觉每个库的功能都很多很杂,所以在差不多理清了各模块功能后便相继推出了各自教程(文末附链接);后来,当接触了机器学习库sklearn之后,才发现三剑客也不外如是,相比sklearn简直是小巫见大巫;再后来,又开始了pyspark的学习之旅,发现无论是模块体积还是功能细分,pyspark又都完爆sklearn;最近,逐渐入坑深度学习(TensorFlow框架),终于意识到python数据科学库没有最大,只有更大……鉴于机器学习本身理论性很强,加之sklearn库功能强大API众多,自然不是总结一份教程所能涵盖的。所以这一次,仅对其中的各子模块进行梳理和介绍,以期通过本文能对sklearn迅速建立宏观框架。01
2020年8月30日
其他

pandas时间序列常用方法简介

导读pandas是Python数据分析最好用的第三方库,没有之一。——笛卡儿没说过这句话!在进行时间相关的数据分析时,时间序列的处理是自然而然的事情,从创建、格式转换到筛选、重采样和聚合统计,pandas都提供了全套方法支持,用的熟练简直是异常丝滑。01
2020年8月8日
其他

pyecharts极简入门教程

导读数据可视化是整个数据分析流程中的关键环节,甚至有着一图定成败的关键性地位。前期,陆续推出了matplotlib和seaborn详细入门教程,对于常规的数据探索和基本图表制作是足够的,但二者的一个共同短板是图表不可交互,缺少那种活灵灵的样子!当Python遇到百度echarts,pyecharts便应用而生,最重要的是支持交互、且可移植到PPT报告中,这效果简直是再理想不过的。pyecharts4步输出图表pyecharts可视化图表制作相比matplotlib和seaborn而言,其实是更为简单的,因为它几乎所有图表都遵循了"同一套路",没有过多复杂参数、无需细节技巧牵绊。但同时,它又有二者所不具备的一些优点:简洁的API设计,支持链式调用多种主题可选,丰富的参数设置可交互的可视化效果,且可移植到PPT中提供了常用图表类型接口,包括matplotlib和seaborn不支持的一些图表:例如词云、可视化地图等基于以上这些原因,pyecharts是个人在可视化输出过程中应用仅次于matplotlib和seaborn的第三大可视化库。当然,各可视化库都有其各自擅长场景,本无优劣高下之分。本文旨在介绍pyecharts图表制作中最基础的套路,掌握这些基本操作、再辅以官网详尽教程,基本上常规图表都是可以的!个人认为学习pyecharts无需熟记各类参数,而仅需掌握通用原理和流程即可,具体操作可待实际应用时查阅相应源码和官网教程。所以本文给出的是一份极简教程,而不会逐一介绍面面俱到。1.
2020年8月1日
其他

武磊离顶级前锋到底有多远?

导读随着疫情逐渐淡去,足球热度不断复燃。主流联赛尽已重启,英超、西甲冠军也相继提前出炉,欧洲五大联赛也只剩意甲还留有悬念尤文夺冠。作为一名多年伪球迷,在欢喜皇马时隔3年重夺联赛第34冠、尤文争冠形势一片大好之余,也不禁为武磊现东家(西班牙人俱乐部)以西甲副班长身份降级而感到惋惜。所以,本文就用python分析一下,武磊离顶级前锋还有多远?谨以此文祝贺皇马力夺34冠01
2020年7月20日
其他

Pandas中groupby的这些用法你都知道吗?

导读pandas作为Python数据分析的瑞士军刀,集成了大量实用的功能接口,基本可以实现数据分析一站式处理。前期,笔者完成了一篇pandas系统入门教程,也针对几个常用的分组统计接口进行了介绍,今天再针对groupby分组聚合操作进行拓展讲解。01
2020年7月12日
其他

python数据科学系列:seaborn入门详细教程

导读前期,分别对python数据分析三剑客进行了逐一详细入门介绍,今天推出系列第4篇教程:seaborn。这是一个基于matplotlib进行高级封装的可视化库,相比之下,绘制图表更为集成化、绘图风格具有更高的定制性。教程目录01
2020年6月22日
其他

原来用pyecharts画个时间线图这么简单

导读可视化对于数据分析师的工作重要性不言而喻。在Python众多可视化库中,matplotlib+seaborn+pyecharts是个人常用的组合。今天,就简单分享一个用pyecharts制作时间线图的例子,实现非常简单,效果却很强大。pyecharts是python对百度开源echarts框架的一个封装,接口丰富、设置多样、图表可交互。需要指出的是,pyecharts从0.5版本升级到1.0版本后,接口调用形式发生很大变化,一度令人感到陌生,但实际上只是传参方式有些不同而已。在pyecharts绘制基本图表的基础上,当为了体现指标随时间的变化趋势时,时间线图表是一个理想的选择。而绘制时间线图实际上非常简单,仅需三步即可:生成时间线对象创建基本图表对象将基本图表对象加入到时间线某种意义上讲,时间线可理解为基本图表的一个容器,且其接口风格与基本图表很是相近。举个例子感受下:
2020年6月16日
其他

从pandas中的这几个函数,我看懂了道家“一生二、二生三、三生万物”

导读pandas是用python进行数据分析最好用的工具包,没有之一!从数据读写到预处理、从数据分析到可视化,pandas提供了一站式服务。而其中的几个聚合统计函数,不仅常用更富有辩证思想,细品之下不禁让人拍手称快、直呼叫好!本文主要讲解pandas中的7个聚合统计相关函数,所用数据创建如下:01
2020年5月27日
其他

临行在即,分享一个自己写的sklearn源码库

导读考虑接下来一段时间会出差在外,现将自己近1个月来学习ML算法的一点成果做以分享,相关源码纯干货版本已上传至GitHub,有需要者可通过"阅读原文"连接自行clone。mySKlearn工程文件结构GitHub仓库目录几点说明:算法进度:当前已完成大部分经典算法,包括:线性回归模型3个、线性分类(逻辑斯蒂回归)1个朴素贝叶斯2个,多项式NB和高斯NB决策树分类和回归各1个K近邻分类和回归各1个Kmeans聚类1个降维算法1个,PCA常用预处理模型常用模型选择函数及网格搜索类常用评价指标程序规范:代码基本符合sklearn标准,包括参数命名、接口规范等代码来源:90%以上源码为个人学习后根据理解编写,极少数有参考sklearn官方源码(如调整兰德指数源码)或他人成果(ID3决策树实现和LinearRegression中梯度下降求解)算法测试:毫无疑问,当前算法还远远达不到鲁棒性标准,仅添加了部分对数据的断言,遇到不合法输入还可能会出bug或报错后续:下步将逐步添加SVM以及部分集成学习算法实现,并持续优化已有算法实现源码断续更新中……相关阅读:python数据科学系列:pandas入门详细教程python数据科学系列:matplotlib入门详细教程python数据科学系列:numpy入门详细教程
2020年5月7日
其他

python数据科学系列:pandas入门详细教程

导读前2篇分别系统性介绍了numpy和matplotlib的入门基本知识,今天本文自然是要对pandas进行入门详细介绍,通过本文你将系统性了解pandas为何会有数据分析界"瑞士军刀"的盛誉。行文二级目录01
2020年5月5日
其他

python数据科学系列:matplotlib入门详细教程

前面提到,figure为绘图创建了画板,而axes基于当前画板创建了1个或多个子图对象。为了创建各种形式的子图,matplotlib主要支持4种添加子图的方式。
2020年5月4日
其他

python数据科学系列:numpy入门详细教程

linspace和arange功能类似,前者创建指定个数的数值,后者按固定步长创建,其中linspace默认包含终点值(可以通过endpoint参数设置为false),而arange则不含终点
2020年5月2日
其他

一句SQL,我有6种写法

既然是排名为N,那么就意味着大于等于目标薪水的记录数为N,更准确的说这里是去重后的记录数为N。基于此想法,很快可以写出相应SQL:
2020年4月30日
其他

分享几道LeetCode中的MySQL题目解法

该题目看起来似乎是不难的,因为表中用户id、消费日期和平台是联合主键,所以每个用户在每个日期中最多有两条交易记录,此时对应查询目标结果中的both,否则就是单一的平台。但有很多细节需要考虑。
2020年4月27日
其他

MySQL中查询中位数?

这一题乍一看还是挺懵的,但有了第一题解法3中的结论,似乎它就是为这一题做的铺垫:这不刚好就是提供的数字及其频率吗?对比其小的数字频率求和就是比其小的数字个数,类似的也可以得到比其大的数字个数。
2020年4月24日
其他

MySQL查询连续打卡信息?

当然,如果是MySQL8.0以下版本,是没有lead()窗口函数可以直接调用的,次此时可借助连接查询或者子查询,设定连接条件是表1和表2用户相同、日期相差为1即可。
2020年4月11日
其他

划重点!你还在困惑MySQL中的"锁"吗?

不是所有的数据库都必须包含这4种隔离级别(例如Oracle数据库主要支持RC和SE两个隔离级别),不同数据库实现的方式也不尽相同。MySQL支持全部4个隔离级别,默认为RR级别
2020年4月8日
其他

听说数据分析师挺火,我们来数据分析一下

注:联系号主可获取爬虫源码文件。另外,本文所有数据分析工作和图表创建均应用pandas和matplotlib完成,两幅词云图片应用wordcloud库制作。
2020年3月27日
其他

关于python中bool类型,你需要知道这些细节…

答:不会。python一直主张简洁,例如def、int和dict都是缩写,虽然bool对于新手而言不如boolean更直观,但它只是一个单词而已。
2020年3月24日
其他

一文解决所有MySQL分类排名问题

进一步分析数据表发现,实际上速度慢并不能否认索引在改善查询效率方面的能力,而仅仅是因为添加索引的字段取值较少的原因:cid字段仅有5个取值——当字段取值个数较少时,添加索引很难见效。
2020年3月22日