数据维度是数据的组织形式
一维:列表和集合
二维:列表
多维:列表
高维:字典或数据表示格式(JSON、XML、YAML)
numpy的强大
import time
import numpy as np
# 生成数据
ls = []
for i in range(1000000):
ls.append(i)
star = time.time()
sum(ls) # 使用Python内置函数求和
end = time.time()
print("列表计算用时{}".format(end - star))
a = np.array(ls, dtype=np.int64) # 创建nd.array数组
star = time.time()
np.sum(a) # 使用numpy内置函数求和
end = time.time()
print("数组计算用时{}".format(end - star))
列表计算用时0.008804082870483398
数组计算用时0.0012941360473632812
SciPy是一个开源的Python算法库和数学工具包。
SciPy包含的模块有最优化、线性代数、积分、插值、特殊函数、快速傅里叶变换、信号处理和图像处理、常微分方程求解和其他科学与工程中常用的计算。
与其功能相类似的软件还有MATLAB、GNU Octave和Scilab。
Matplotlib 是 Python 的绘图库。
matplotlib是Python编程语言及其数值数学扩展包 NumPy的可视化操作界面。
它利用通用的图形用户界面工具包,如Tkinter, wxPython, Qt或GTK+,向应用程序嵌入式绘图提供了应用程序接口(API)。
此外,matplotlib还有一个基于图像处理库(如开放图形库OpenGL)的pylab接口,其设计与MATLAB非常类似–尽管并不怎么好用。
SciPy就是用matplotlib进行图形绘制
pandas 是基于NumPy 的一种工具。
pandas是一种快速,强大,灵活且易于使用的开源数据分析和处理工具,它建立在Python编程语言之上。
CPython是用C语言实现的Python解释器。
作为官方实现,它是最广泛使用的Python解释器。
除了CPython以外,还有用Java实现的Jython,用.NET实现的IronPython,使Python方便地和Java程序、.NET程序集成。
另外还有一些实验性的Python解释器比如PyPy。
Jupyter是一个非营利组织。
Jupyter是一个非营利组织,旨在“为数十种编程语言的交互式计算开发开源软件,开放标准和服务”。
2014年由Fernando Pérez从IPython中衍生出来,Jupyter支持几十种语言的执行环境。
Jupyter Project的名称是对Jupyter支持的三种核心编程语言的引用,这三种语言是Julia、Python和R,也是对伽利略记录发现木星的卫星的笔记本的致敬。
Jupyter项目开发并支持交互式计算产品Jupyter Notebook、JupyterHub和JupyterLab,这是Jupyter Notebook的下一代版本。
IPython是一种基于Python的交互式解释器。
IPython是一种基于Python的交互式解释器。相较于本地的Python Shell,IPython提供了更为强大的编辑和交互功能。
SymPy是一个符号计算的Python库。
它的目标是成为一个全功能的计算机代数系统,同时保持代码简洁、易于理解和扩展。
它完全由Python写成,不依赖于外部库。
SymPy支持符号计算、高精度计算、模式匹配、绘图、解方程、微积分、组合数学、离散数学、几何学、概率与统计、物理学等方面的功能。
Scikit-learn是针对Python编程语言的机器学习库。
Scikit-learn(以前称为scikits.learn,也称为sklearn)是针对Python 编程语言的免费软件机器学习库。
它具有各种分类,回归和聚类算法,包括支持向量机,随机森林,梯度提升,k均值和DBSCAN,并且旨在与Python数值科学图书馆NumPy和SciPy。