人工智能第三课:数据科学中的Python
我用了两天左右的时间完成了这一门课《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的更多相关文章
- 数据科学中的常见的6种概率分布(Python实现)
作者:Pier Paolo Ippolito@南安普敦大学 编译:机器学习算法与Python实战(微信公众号:tjxj666) 原文:https://towardsdatascience.com/pr ...
- 数据科学中需要知道的5个关于奇异值分解(SVD)的应用
介绍 "Another day has passed, and I still haven't used y = mx + b." 这听起来是不是很熟悉?我经常听到我大学的熟人抱怨 ...
- 3 个用于数据科学的顶级 Python 库
使用这些库把 Python 变成一个科学数据分析和建模工具. Python 的许多特性,比如开发效率.代码可读性.速度等使之成为了数据科学爱好者的首选编程语言.对于想要升级应用程序功能的数据科学家和机 ...
- 深入对比数据科学工具箱:Python和R之争
建议:如果只是处理(小)数据的,用R.结果更可靠,速度可以接受,上手方便,多有现成的命令.程序可以用.要自己搞个算法.处理大数据.计算量大的,用python.开发效率高,一切尽在掌握. 概述 在真实的 ...
- 数据科学中的R和Python: 30个免费数据资源网站
1 政府数据 Data.gov:这是美国政府收集的数据资源.声称有多达40万个数据集,包括了原始数据和地理空间格式数据.使用这些数据集需要注意的是:你要进行必要的清理工作,因为许多数据是字符型的或是有 ...
- 第三课 Dubbo设计中的设计模式
责任链模式 责任链模式在Dubbo中发挥的作用举足轻重,就像是Dubbo框架的骨架.Dubbo的调用链组织是用责任链模式串连起来的. 责任链中的每个节点实现Filter接口,然后由ProtocolF ...
- ionic新手教程第三课-在项目中使用requirejs分离controller文件和server文件
继上篇教程中提到的,我们新建一个简单的tabs类型的Ionic项目. 依据文件夹文件我们知道,系统自己主动创建了一个controller文件和server文件,而且把全部的控制器和服务都写到这两个文件 ...
- python 在数据科学中的应用之matplotlib
1.matplotlib模块生成直线图和散点图 >>>import matplotlib.pyplot as plt >>>year = [1950,1970,19 ...
- python中令人惊艳的小众数据科学库
Python是门很神奇的语言,历经时间和实践检验,受到开发者和数据科学家一致好评,目前已经是全世界发展最好的编程语言之一.简单易用,完整而庞大的第三方库生态圈,使得Python成为编程小白和高级工程师 ...
随机推荐
- uiautomatorviewer 优化定位符生成,支持生成Java,Python自动化代码
项目介绍 二次开发 uiautomatorviewer 优化定位符生成,支持生成Java,Python自动化代码,修复自带工具画面有动态加载时截图失败问题,优化自带工具截图速度 ,实现类似录制脚本功能 ...
- jQuery-爱奇艺图片切换
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>& ...
- Gigabyte Z170N-WIFI 黑苹果 10.12
简述 (此文在我的个人博客长期更新)[http://aiellochan.com/2018/02/11/play/Gigabyte-Z170N-WIFI-%E9%BB%91%E8%8B%B9%E6%9 ...
- httpclient的调用 发送json字符串
public static String postHttp(JSONObject jsonObject, String jsonUrl){ String responseMsg="" ...
- Windows 10 IoT Core 17083 for Insider 版本更新
1月26日,微软发布了Windows 10 IoT Core 17083 for Insider版本更新,概括如下: 新特性:1. General bug fixes2. Enabled Flash ...
- 剑指offer面试题17:合并两个排序的链表
题目:输入两个递增排序的链表,合并这两个链表并使新链表中的节点人是按照递增排序的.解题思路:两个链表分别都已经是有序的了,遍历链表的时候只要比较两个链表当前位置大小,取出最小的添加到新链表中. 可以有 ...
- 【UOJ117】 欧拉回路(欧拉回路)
传送门 UOJ Solution 无解 t=1,无向图,当且仅当\(\exists i \ \ in_i \ne out_i\) t=2,有向图,当且仅当\(\exists i \ \ in_i是奇数 ...
- [W3bsafe]分享一个爬SQL注入漏洞的工具
分享一个爬SQL注入的工具 本文转自:i春秋社区由团队核心成员若间开发把工具放到E盘的一个文件夹 他会自动生成一个文本文件 Result.txt 最大页数 自己想弄填多少就填多少关键词 注入点关键词 ...
- 10个经典的Java面试题集合
这里有10个经典的Java面试题,也为大家列出了答案.这是Java开发人员面试经常容易遇到的问题,相信你了解和掌握之后一定会有所提高.让我们一起来看看吧. 1.Java的HashMap是如何工作的? ...
- TX-LCN分布式事务Demo实战
1. TX-LCN分布式事务Demo实战 1.1. 原理介绍 1.1.1. 事务控制原理 TX-LCN由两大模块组成, TxClient.TxManager,TxClient作为模块的依赖框架,提供T ...