《Python数据科学手册》

本书《Python数据科学手册》由Jake VanderPlas著,提供Python数据科学领域的全面指南,涵盖Ipython、Numpy等核心工具的使用技巧,推荐在线编程环境与资源,适合初学者与进阶者。

《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.youkuaiyun.com/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数据科学手册》是一本专为数据科学家和数据分析爱好者量身打造的指南,由Jake VanderPlas编著。该项目以Jupyter Notebooks的形式提供了这本书的全部内容,让你能够免费学习并实践书中涵盖的知识。这些笔记本不仅便于在线阅读,还可以在你的本地环境或通过Google Colab、Binder等在线平台运行代码,实现理论与实践的无缝对接 [^3]。 对于希望深入学习Python数据科学的读者,推荐安装Miniconda,所有程序包手动安装(确认选择的是适合Python3的版本),安装包:`conda install numpy pandas scikit-learn matplotlib seaborn ipython-notebook` [^5]。 ### 数据处理与分析 Python数据科学的核心在于其强大的库支持,例如NumPy、Pandas、Scikit-learn、Matplotlib和Seaborn。这些工具可以帮助用户进行高效的数据处理、分析和可视化。例如,使用Pandas可以轻松处理和清洗数据集: ```python import pandas as pd # 读取CSV文件 df = pd.read_csv('data.csv') # 显示前几行数据 print(df.head()) # 数据清洗示例 df.dropna(inplace=True) # 删除缺失值 ``` ### 数据可视化 Matplotlib和Seaborn是两个非常流行的数据可视化库。它们提供了丰富的图表类型和自定义选项,能够满足各种数据展示需求。例如,使用Seaborn绘制一个简单的散点图: ```python import seaborn as sns import matplotlib.pyplot as plt # 加载示例数据集 tips = sns.load_dataset("tips") # 绘制散点图 sns.scatterplot(x="total_bill", y="tip", data=tips) plt.show() ``` ### 机器学习 Scikit-learn是一个功能强大的机器学习库,涵盖了多种监督和非监督学习算法。以下是一个使用Scikit-learn进行线性回归的简单示例: ```python from sklearn.linear_model import LinearRegression from sklearn.model_selection import train_test_split import numpy as np # 创建示例数据 X = np.random.rand(100, 1) y = 2 + 3 * X + np.random.rand(100, 1) # 划分训练集和测试集 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) # 训练模型 model = LinearRegression() model.fit(X_train, y_train) # 预测 y_pred = model.predict(X_test) # 输出模型参数 print(f"Coefficients: {model.coef_}") print(f"Intercept: {model.intercept_}") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值