我用了两天左右的时间完成了这一门课《Introduction to Python for Data Science》的学习,之前对Python有一些基础,所以在语言层面还是比较顺利的,这门课程的最大收获是让我看到了在数据科学中Python的真正威力(也理解了为什么Python这么流行),同时本次课程的交互式练习体验(Datacamp)非常棒。

 

 

这门课程主要包括了6个单元的内容,一开始介绍了Python的基本概念(常见数据类型和变量),从第二节开始讲解列表在Python中的使用,并且逐步演进,我们还学习了使用真正为Data Science准备的几个package的应用。

 

 

从数据科学的角度来看,Python可能真的是很适合的一个编程语言和环境。这不光是因为他本身的语法比较简单,而且目前已经有几个非常强大的包(Package)对其进行支持。

 

 

Python中的list用来表示一系列的数据,它非常灵活,甚至可以在一个列表中包含不同类型的数据,当然这样也就带来了一定的负面作用,例如性能。而numpy的array则是对list的一种改进,它进行规划化(一个array的轴上只支持同一种数据类型),并提供了更多的一些与数据科学的运算(函数)。

 

 

它自身的运算规则也跟列表有极大的区别,例如

 

 

numpy库内置支持很多科学运算的函数,不需要依赖其他库

 

 

 

数据科学不光是对数据的处理,而且还需要对数据进行展示。目前全世界最流行的用来做数据可视化的库是matplotlib。

 

 

下图是一个最简单的例子

 

 

请注意,图形的数据来源既可以是List,也可以是Array,当然还可以是下面的终极解决方案DataFrame,来自pandas这个库。

 

numpy和matplotlib,可以很好地处理数据科学的场景。但如果数据量真的很大,则可能需要用到pandas了。

 

 

pandas提供了一个全新的dataframe的对象,它是完全为科学运算和统计而设计的,而且它自带了可视化组件库,不需要额外依赖matplotlib。

 

从技术上说,DataFrame很像是一个Excel表格或者数据库,它具有行和列的概念,也有索引的技术。

 

DataFrame还支持从外部文件(例如csv)或者网络地址加载数据,这将使得它真正具有实用的价值。

 

最后,我之前提到过了,本次课程给我最惊喜的一个体验是交互式练习。这是一个第三方学习平台(DataCamp)提供的,非常酷。

 

 

最后,基于Jupyter构建的notebooks.azure.com ,让我们可以在线编辑python,并且运行,形成笔记——不需要azure订阅即可使用。如果你愿意,你还可以在本地安装Jupyter。

 

本地安装Jupyter,请参考 https://jupyter.org/install.html

 

 

请通过 https://aka.ms/learningAI 或者扫描下面的二维码关注本系列文章《人工智能学习笔记》

 

人工智能第三课:数据科学中的Python的更多相关文章

  1. 数据科学中的常见的6种概率分布(Python实现)

    作者:Pier Paolo Ippolito@南安普敦大学 编译:机器学习算法与Python实战(微信公众号:tjxj666) 原文:https://towardsdatascience.com/pr ...

  2. 数据科学中需要知道的5个关于奇异值分解(SVD)的应用

    介绍 "Another day has passed, and I still haven't used y = mx + b." 这听起来是不是很熟悉?我经常听到我大学的熟人抱怨 ...

  3. 3 个用于数据科学的顶级 Python 库

    使用这些库把 Python 变成一个科学数据分析和建模工具. Python 的许多特性,比如开发效率.代码可读性.速度等使之成为了数据科学爱好者的首选编程语言.对于想要升级应用程序功能的数据科学家和机 ...

  4. 深入对比数据科学工具箱:Python和R之争

    建议:如果只是处理(小)数据的,用R.结果更可靠,速度可以接受,上手方便,多有现成的命令.程序可以用.要自己搞个算法.处理大数据.计算量大的,用python.开发效率高,一切尽在掌握. 概述 在真实的 ...

  5. 数据科学中的R和Python: 30个免费数据资源网站

    1 政府数据 Data.gov:这是美国政府收集的数据资源.声称有多达40万个数据集,包括了原始数据和地理空间格式数据.使用这些数据集需要注意的是:你要进行必要的清理工作,因为许多数据是字符型的或是有 ...

  6. 第三课 Dubbo设计中的设计模式

    责任链模式  责任链模式在Dubbo中发挥的作用举足轻重,就像是Dubbo框架的骨架.Dubbo的调用链组织是用责任链模式串连起来的. 责任链中的每个节点实现Filter接口,然后由ProtocolF ...

  7. ionic新手教程第三课-在项目中使用requirejs分离controller文件和server文件

    继上篇教程中提到的,我们新建一个简单的tabs类型的Ionic项目. 依据文件夹文件我们知道,系统自己主动创建了一个controller文件和server文件,而且把全部的控制器和服务都写到这两个文件 ...

  8. python 在数据科学中的应用之matplotlib

    1.matplotlib模块生成直线图和散点图 >>>import matplotlib.pyplot as plt >>>year = [1950,1970,19 ...

  9. python中令人惊艳的小众数据科学库

    Python是门很神奇的语言,历经时间和实践检验,受到开发者和数据科学家一致好评,目前已经是全世界发展最好的编程语言之一.简单易用,完整而庞大的第三方库生态圈,使得Python成为编程小白和高级工程师 ...

随机推荐

  1. Borg, Omega, and Kubernetes读后笔记

    前言 最近又读了一遍 Borg, Omega, and Kubernetes 这篇文章,觉得这个文章写得很好,让我对架构设计有了进一步的认识,所以想写一篇读后笔记. 原文地址,还有篇中文翻译的,这个中 ...

  2. 学习笔记----php环境配置

    Php开发环境自定义搭建 (万事开头难) 第一步:Apache安装(httpd-2.4.37-win64-VC15.zip) 下载已编译apache安装包:Apachelounge官方下载地址:htt ...

  3. 判断是否为AVL树

    时间复杂度:O(n) // 判断是否为AVL树 public int isAVL(TreeNode node) { if (node == null) { return 0; } int left = ...

  4. 脑残式网络编程入门(六):什么是公网IP和内网IP?NAT转换又是什么鬼?

    本文引用了“帅地”发表于公众号苦逼的码农的技术分享. 1.引言 搞网络通信应用开发的程序员,可能会经常听到外网IP(即互联网IP地址)和内网IP(即局域网IP地址),但他们的区别是什么?又有什么关系呢 ...

  5. Javascript高级编程学习笔记(27)—— BOM(1)window对象1

    ECMAScript是JS的核心 但是对于在浏览器中运行的JS,BOM显然才是真正的核心 我们知道JS是由三个部分组成的 BOM.DOM.ECMAScript 之前的文章我们主要介绍的是ECMAScr ...

  6. Ubuntu双网卡设置内外网上网的问题

    UBUNTU16.04系统,双网卡:eth0, eth1.分贝设置成Public IP, 和局域网IP, 这样这台计算机就可以访问局域网内的各个IP, 同时还可以在全球各地被访问,使用ssh or r ...

  7. 机器学习入门06 - 训练集和测试集 (Training and Test Sets)

    原文链接:https://developers.google.com/machine-learning/crash-course/training-and-test-sets 测试集是用于评估根据训练 ...

  8. 机器学习基石笔记:03 Types of Learning

    原文地址:https://www.jianshu.com/p/86b2a9cef742 一.学习的分类 根据输出空间\(Y\):分类(二分类.多分类).回归.结构化(监督学习+输出空间有结构): 根据 ...

  9. Zookeeper 集群安装配置,超详细,速度收藏!

    今天,栈长分享下 Zookeeper 的集群安装及配置. 下载 下载地址:http://zookeeper.apache.org/ 下载过程就不说了,我们下载了最新的zookeeper-3.4.11. ...

  10. eos开发(三)使用cleos命令行客户端操作EOS——关于钱包wallet和账户account

    好了,上一节我们已经讲了关于wallet的一些基础操作,基本了解了怎么去创建一个钱包,怎么去查看钱包.上锁和解锁钱包等,这一节咱们就来开始操作账户account吧. 上一节讲到了每一个account都 ...