Python数据分析入门:Numpy基础与数据可视化

需积分: 9 1 下载量 173 浏览量 更新于2024-09-09 收藏 11KB TXT 举报
"这篇资料是关于Python数据分析的Day01笔记,主要涵盖了人工智能学习的两个阶段,数据分析的简介,以及numpy的基本入门。编辑环境推荐使用EditPlus,因为其阅读效果最佳。文中还提及了数据分析中常用的工具链,包括numpy、scipy、matplotlib、pandas、sklearn和tensorflow等。此外,内容将对numpy的功能、历史和发展,以及其在数据科学中的作用进行介绍,并展示了一个使用numpy提高计算效率的例子。" 在Python数据分析领域,numpy是一个不可或缺的基础库,它是Numerical Python的缩写,主要用于提供高效的多维数组操作。numpy的主要特点包括: 1. numpy提供了强大的n维数组对象(ndarray),允许用户处理大型多维数据集。 2. 该库基于GPL和LGPL许可证,这意味着它的源代码可以自由使用、修改和分发,但对某些部分有特定的许可要求。 3. numpy的内核用C语言编写,因此它能够实现与原生C代码相当的性能,对于数值计算尤其高效。 4. 它支持大量的数学运算,如矩阵乘法、统计函数和线性代数操作,极大地简化了数据科学中的计算任务。 5. numpy与其他科学计算库如scipy、scikit-learn、matplotlib等紧密结合,形成了一套完整的数据分析生态系统。 6. 它还提供了与MATLAB和Mathematica类似的语法,使得熟悉这些工具的用户可以快速上手。 7. numpy的学习曲线相对平缓,适合初学者入门,同时也能满足专业人士的高级需求。 8. 由于numpy在底层使用C语言,它可以实现跨平台的兼容性,如Windows、Linux和macOS。 numpy的历史可以追溯到1995年,最初由numeric库发展而来。2001年,随着scipy项目的启动,numarray作为numeric的一个竞争者出现。2005年,numeric和numarray合并,形成了numpy的前身。最终,在2006年,numpy与scipy整合,形成了现在我们熟知的numpy库。 numpy的效率提升主要体现在其向量化操作上。在Python中,传统的for循环进行计算可能会导致性能瓶颈。例如,以下是一个计算平方和立方然后相加的示例: ```python import datetime as dt import numpy as np n = 100000 start = dt.datetime.now() A, B = [], [] for i in range(n): A.append(i**2) B.append(i**3) C = [] for a, b in zip(A, B): C.append(a + b) end = dt.datetime.now() print((end - start).microseconds) # 302 (可能的运行时间,取决于具体系统) ``` 这段代码使用了Python的列表推导和for循环,运行效率较低。相比之下,如果使用numpy,我们可以将上述操作大大简化并提高速度: ```python n = 100000 start = dt.datetime.now() A = np.array(range(n)) ** 2 B = np.array(range(n)) ** 3 C = A + B end = dt.datetime.now() print((end - start).microseconds) # 10 (或更短,取决于系统) ``` 通过numpy,我们无需显式地使用循环,而是直接对整个数组执行操作,这显著提高了代码执行的速度。这就是numpy在数据科学中的强大之处,通过向量化操作,使得大规模数据处理变得简单且高效。