《Python数据科学手册》
《Python数据科学手册》【美】Jake VanderPlas著 陶俊杰译
Absorb what is useful, discard what is not, and add what is uniquel what own.(取其精华,去其糟粕,再加点自己的独创。)
本书在GitHub上开源:https://github.com/jakevdp/PythonDataScienceHandbook
作者在博客发布Notebook的HTML版本:https://jakevdp.github.io/PythonDataScienceHandbook/
精华总结+issue汇总
第一章 Ipython:超越Python
1.三种开发环境:
1)在线版Notebook编程环境——有浏览器就可学习编程知识,推荐想快速掌握知识的朋友使用。目前,有许多安装Python编程环境的Anaconda发行版的网络平台(PaaS),支持Jupyter Notebook编程环境,可以免费使用,如JupyterHub(https://tmpnb.org)、SageMathCloud(https://cloud.sagemath.com)、微软Azure(https://notebooks.azure.com/)
它们可以在线运行Notebook文件,编写调试运行代码,也支持文件的上传、下载、新建、删除,还可以运行Terminal工具。
另外,基于Github的Notebook,还有binder(https://mybinder.org)支持代码仓库一键部署。
类似的在线免费Notebook编程环境还有很多,特别推荐德国Yves Hilpisch博士的The Python Quants Group公司开发的Python Quants Platform(https://tpq.io/)。
Jupyter Notebook支持许多编程语言(Python、R、Scala、Julia、Haskell、Ruby......),甚至支持Kotlin(https://github.com/ligee/kotlin-jupyter)、Java 9的REPL新功能JShell(https://github.com/Bachmann1234/java9_kernel)。
2)在电脑上安装Anaconda发行版。由于网络问题,推荐清华大学TUNA镜像下载和更新Anaconda集成开发环境:https://mirror.tuna.tsinghua.edu.cn/help/anaconda/
3)适合了解Docker镜像(https://github.com/jupyter/docker-stacks),一键安装,省时省力。里面除了标准Anaconda开发环境,还支持Spark、TensorFlow的Notebook开发环境。
2.如果你需要一个 Python 入门教程,那么我推荐你阅读本书的姊妹篇 A Whirlwind Tour of the Python Language。
Python相关电子书下载(需要收费):Python书院——http://www.pythonlib.cn/
3.数据收集:bicloud的博客——数据挖掘博客收集
总结了人脸识别技术、深度学习文章、机器学习课程、深度学习课程、各种数据集。
4.GitChat:https://blog.csdn.net/valada?t=1
GitChat 是一个知识分享平台,通过这个平台我们希望改变知识的学习方式。如:如何科学的学习一门编程语言?
5.软件安装注意事项
Anaconda发现版有两种,选哪个?
1)Miniconda:只包含Python解释器和一个名为conda的命令行工具。conda是一个跨平台的程序包管理器,可以管理各种Python程序包,类似于Linux用户熟悉的apt和yum程序包管理器。
2)Anaconda:除了包含Python和conda之外,还同时绑定了四五百个科学计算程序包。所以有几个G大。
推荐:安装Miniconda,所有程序包手动安装(确认选择的是适合Python3的版本),安装包:conda install numpy pandas scikit-learn matplotlib seaborn ipython-notebook
6.第三方模块的安装问题:见我的另一篇博客:Python入门之第三方模块安装
7.用memory_profiler诊断内存的用量?
参看:《Python高性能编程》——2.9 用memory_profiler诊断内存的用量:https://m.aliyun.com/yunqi/articles/96841/
Issue:如果在运行的时候出现如下的gbk解码错误,解决方案是首先进入 memory_profiler.py文件中,找到第1127行(不同版本可能略有差别),
把with open(filename) as f: 更改成 with open(filename, encoding=’utf-8’) as f:!!!
8.网络资源汇总:
1)Ipython网站:http://ipython.org/
2)nbviewer网站:https://nbviewer.jupyter.org/
3)有趣的IPython Notebook集合(https://github.com/ipython/ipython/wiki/A-gallery-of-interesting-IPython-Notebooks)
第二章 Numpy入门
1.P54代码使用%matplotlib inline
import matplotlib.pyplot as plt
import seaborn; seaborn.set()
plt.hist(heights)
plt.title('Height Distribution of US Presidents')
plt.xlabel('height (cm)')
plt.ylabel('number');
在cmd的ipython窗口中执行不成功?执行%matplotlib inline就报错,而且直方图画不出来?
其中最后一句%matplotlib inline比较奇怪,而且无论你是用哪个python的IDE如spyder或者pycharm,这个地方都会报错,显示是invalid syntax(无效语法)。那为什么代码里面还是会有这一句呢?原来是这样的。
%matplotlib作用
是在使用jupyter notebook 或者 jupyter qtconsole的时候,才会经常用到%matplotlib,也就是说那一份代码可能就是别人使用jupyter notebook 或者 jupyter qtconsole进行编辑的。关于jupyter notebook是什么,可以参考这个链接:[Jupyter Notebook介绍、安装及使用教程][1]
而%matplotlib具体作用是当你调用matplotlib.pyplot的绘图函数plot()进行绘图的时候,或者生成一个figure画布的时候,可以直接在你的python console里面生成图像。
参看:Python关于%matplotlib inline——https://www.jianshu.com/p/2dda5bb8ce7d
Python--matplotlib绘图可视化知识点整理——https://www.cnblogs.com/zhizhan/p/5615947.html
《Python数据科学手册》的更多相关文章
- 简单物联网:外网访问内网路由器下树莓派Flask服务器
最近做一个小东西,大概过程就是想在教室,宿舍控制实验室的一些设备. 已经在树莓上搭了一个轻量的flask服务器,在实验室的路由器下,任何设备都是可以访问的:但是有一些限制条件,比如我想在宿舍控制我种花 ...
- 利用ssh反向代理以及autossh实现从外网连接内网服务器
前言 最近遇到这样一个问题,我在实验室架设了一台服务器,给师弟或者小伙伴练习Linux用,然后平时在实验室这边直接连接是没有问题的,都是内网嘛.但是回到宿舍问题出来了,使用校园网的童鞋还是能连接上,使 ...
- 外网访问内网Docker容器
外网访问内网Docker容器 本地安装了Docker容器,只能在局域网内访问,怎样从外网也能访问本地Docker容器? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Docker容器 ...
- 外网访问内网SpringBoot
外网访问内网SpringBoot 本地安装了SpringBoot,只能在局域网内访问,怎样从外网也能访问本地SpringBoot? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装Java 1 ...
- 外网访问内网Elasticsearch WEB
外网访问内网Elasticsearch WEB 本地安装了Elasticsearch,只能在局域网内访问其WEB,怎样从外网也能访问本地Elasticsearch? 本文将介绍具体的实现步骤. 1. ...
- 怎样从外网访问内网Rails
外网访问内网Rails 本地安装了Rails,只能在局域网内访问,怎样从外网也能访问本地Rails? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Rails 默认安装的Rails端口 ...
- 怎样从外网访问内网Memcached数据库
外网访问内网Memcached数据库 本地安装了Memcached数据库,只能在局域网内访问,怎样从外网也能访问本地Memcached数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装 ...
- 怎样从外网访问内网CouchDB数据库
外网访问内网CouchDB数据库 本地安装了CouchDB数据库,只能在局域网内访问,怎样从外网也能访问本地CouchDB数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Cou ...
- 怎样从外网访问内网DB2数据库
外网访问内网DB2数据库 本地安装了DB2数据库,只能在局域网内访问,怎样从外网也能访问本地DB2数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动DB2数据库 默认安装的DB2 ...
- 怎样从外网访问内网OpenLDAP数据库
外网访问内网OpenLDAP数据库 本地安装了OpenLDAP数据库,只能在局域网内访问,怎样从外网也能访问本地OpenLDAP数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动 ...
随机推荐
- Linux上安装Julia-1.1
Julia 在Linux上的安装 浙江大学Julia镜像: 浙江大学Julia镜像 下载1.1版本: wget https://mirrors.zju.edu.cn/julia/releases/v1 ...
- Go语言中使用切片(slice)实现一个Vector容器
Go语言中的切片(slice)和一些内置函数能实现其他语言容器类Array.Vector的功能,但是Go内置语言包container里只提供了list.heap.ring三种容器,缺少vector容器 ...
- Hash冲突的四种解决办法
一.哈希表简介 非哈希表的特点:关键字在表中的位置和它自检不存在一个确定的关系,查找的过程为给定值一次和各个关系自进行比较,查找的效率取决于给定值进行比较的次数. 哈希表的特点:关键字在表中位置和它自 ...
- [LuoguP2167][SDOI2009]Bill的挑战_容斥原理/状压dp
Bill的挑战 题目链接:https://www.luogu.org/problem/P2167 数据范围:略. 题解: 因为$k$特别小,想到状压. 状压的方式也非常简单,就是暴力枚举. 但是会不会 ...
- 自然语言处理工具HanLP-基于层叠HMM地名识别
本篇接上一篇内容<HanLP-基于HMM-Viterbi的人名识别原理介绍>介绍一下层叠隐马的原理. 首先说一下上一篇介绍的人名识别效果对比: 1. 只有Jieba识别出的人名 准确率极低 ...
- Ural 1248 Sequence Sum 题解
目录 Ural 1248 Sequence Sum 题解 题意 题解 程序 Ural 1248 Sequence Sum 题解 题意 给定\(n\)个用科学计数法表示的实数\((10^{-100}\s ...
- c++:论如何成功把自己搞懵【二叉树特辑①】(不定期更新)
并不正经的前言 以前我这个小白看OI的书,老觉得有些东西很高端(看不懂的自然就很高端[滑稽]):什么栈啊,位运算啊,二叉树啊.有些东西我学了之后也很迷糊(真的不是因为傻?),做题的时候总是可以把自己搞 ...
- python中sort和sorted用法的区别
Python list内置sort()方法用来排序,也可以用python内置的全局sorted()方法来对可迭代的序列排序生成新的序列 一,最简单的排序 1.使用sort排序 my_list = [3 ...
- Core dump文件和ECFS
core dump文件 core dump核心转储文件,一些信号的处理方式,会生成一个elf格式的文件,用来分析进程崩溃情况. 总结一下,core dump核心转储文件就是将所有的vma都映射成一个e ...
- VS2017的一些调试方法技巧
一.基本的操作. 1.启动调试. 可以通过VS的调试(Debug)菜单启动调试.点击调试菜单下的“启动调试”或者按F5键启动.如果你已经在代码中加入了断点,那么执行会自动开始. 注:退出调试快捷键sh ...