数据分析
简介
numpy主要功能:
快速高效的多维数组对象ndarray。
用于对数组执行元素级计算以及直接对数组执行数学运算的函数。
用于读写硬盘上基于数组的数据集的工具。
线性代数运算、傅里叶变换,以及随机数生成。
-成熟的C API, 用于Python插件和原生C、C++、Fortran代码访问NumPy的数据结构和计算工具
pandas主要功能:
兼具NumPy高性能的数组计算功能以及电子表格和关系型数据库(如SQL)灵活的数据处理功能。它提供了复杂精细的索引功能,能更加便捷地完成重塑、切片和切块、聚合以及选取数据子集等操作。
matplotlib:
matplotlib是最流行的用于绘制图表和其它二维数据可视化的Python库。它最初由John D.Hunter(JDH)创建,目前由一个庞大的开发团队维护。它非常适合创建出版物上用的图表。虽然还有其它的Python可视化库,matplotlib却是使用最广泛的,并且它和其它生态工具配合也非常完美。我认为,可以使用它作为默认的可视化工具。
IPython和Jupyter:
IPython鼓励“执行-探索”的工作流,区别于其它编程软件的“编辑-编译-运行”的工作流。它还可以方便地访问系统的shell和文件系统。因为大部分的数据分析代码包括探索、试错和重复,IPython可以使工作更快。
Jupyter:用于编写、测试、调试Python代码的强化shell,使用ipython作为内核,适合数据探索和可视化。
SciPy:
一组专门解决科学计算中各种标准问题域的包的集合
包括:
scipy.integrate:数值积分例程和微分方程求解器。
scipy.linalg:扩展了由numpy.linalg提供的线性代数例程和矩阵分解功能。
scipy.optimize:函数优化器(最小化器)以及根查找算法。
scipy.signal:信号处理工具。
scipy.sparse:稀疏矩阵和稀疏线性系统求解器。
scipy.special:SPECFUN(这是一个实现了许多常用数学函数(如伽玛函数)的Fortran库)的包装器。
scipy.stats:标准连续和离散概率分布(如密度函数、采样器、连续分布函数等)、各种统计检验方法,以及更好的描述统计法。
与numpy组合成为一个完美的计算平台。
数据处理相关python补充用法
enmurate查看dic位置
enmurate 可以遍历一个可迭代容器中的元素,同时通过一个计数器变量记录当前元素所对应的索引值。
for i in range(len(my_items))的写法可读性太差,使用for index, value in enumerate(names, 1):来替代
enumrate中每个元素的索引都是懒加载的,到使用时才会进行加载,非常节省内存
# 典型用法1
names = ['Bob', 'Alice', 'Guido']
for index, value in enumerate(names, 1):
print(f'{index}: {value}')
# 例子2
some_list = ['foo', 'bar', 'baz']
ma