# python的一些乱七八糟 - 本文不涉及python较基础的print、input、if、for等语法,只记录一些日常用到的函数和参数。 ## 1. python 库 ### 1.1 shutil库 ![Shutil](../../../../../media/python/Shutil.png) ## 2. python 函数的用法 ### 2.1 绘图相关参数 #### 2.1.1 cmap函数 > 这个函数中可选的cmap参数包括: > 例: `cmap='seismic'` 1. `'seismic'`: 红-白-蓝配色,用于表示正负值之间的差异。 2. `'jet'`: 黑-蓝-青-黄-红配色,用于表示连续变化的数据。 3. `'coolwarm'`: 深蓝-白-红配色,用于表示正负值之间的差异。 4. `'viridis'`: 从深绿到黄绿到黄的单调配色,用于表示连续变化的数据。 **用于绘制场增强图。** 5. `'plasma'`: 紫-粉红-橙-黄单调配色,用于表示连续变化的数据。 6. `'magma'`: 一种从黑色到红色的颜色映射。 7. `'inferno'`: 一种从黑色到黄色的颜色映射。 8. `'cool'`: 一种从青色到绿色的颜色映射。 9. `'hot'`: 一种从黑色到红色的颜色映射。 10. `'RdBu_r'`: 它将数据值映射到红色和蓝色之间的颜色。其中,`RdBu`代表红色和蓝色的混合,`_r`表示颜色映射是反转的,即高值对应的颜色是蓝色,低值对应的颜色是红色。高值:深蓝色 中等值:白色 低值:深红色 > 除了上面列出的常用的颜色映射外,还有许多其他的颜色映射可供选择。在选择颜色映射时,需要根据数据类型和分布特性进行评估,并根据需要调整对比度、亮度、饱和度等参数,以便最大程度地突出数据的特征。 ## 3. Python numpy,scipy,pandas这些库的区别是什么? Numpy是以矩阵为基础的数学计算模块,纯数学。 Scipy基于Numpy,科学计算库,有一些高阶抽象和物理模型。比方说做个傅立叶变换,这是纯数学的,用Numpy;做个滤波器,这属于信号处理模型了,在Scipy里找。 Pandas提供了一套名为DataFrame的数据结构,比较契合统计分析中的表结构,并且提供了计算接口,可用Numpy或其它方式进行计算。 ![1700741049005](image/Python_study/1700741049005.png) 打个比方,pandas类似Excel软件,scipy就像Excel里的[函数算法](https://www.zhihu.com/search?q=%E5%87%BD%E6%95%B0%E7%AE%97%E6%B3%95&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra=%7B%22sourceType%22%3A%22answer%22%2C%22sourceId%22%3A2559002625%7D)包,numpy则好比构建Excel逻辑的底层语句。 所以说[pandas](https://www.zhihu.com/search?q=pandas&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra=%7B%22sourceType%22%3A%22answer%22%2C%22sourceId%22%3A2559002625%7D)擅长[数据处理](https://www.zhihu.com/search?q=%E6%95%B0%E6%8D%AE%E5%A4%84%E7%90%86&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra=%7B%22sourceType%22%3A%22answer%22%2C%22sourceId%22%3A2559002625%7D),scipy精通[数学计算](https://www.zhihu.com/search?q=%E6%95%B0%E5%AD%A6%E8%AE%A1%E7%AE%97&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra=%7B%22sourceType%22%3A%22answer%22%2C%22sourceId%22%3A2559002625%7D),[numpy](https://www.zhihu.com/search?q=numpy&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra=%7B%22sourceType%22%3A%22answer%22%2C%22sourceId%22%3A2559002625%7D)是构建pandas、scipy的基础库。 我们知道numpy通过[N维数组](https://www.zhihu.com/search?q=N%E7%BB%B4%E6%95%B0%E7%BB%84&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra=%7B%22sourceType%22%3A%22answer%22%2C%22sourceId%22%3A2559002625%7D)来实现快速的数据计算和处理,它也是Python众多[数据科学](https://www.zhihu.com/search?q=%E6%95%B0%E6%8D%AE%E7%A7%91%E5%AD%A6&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra=%7B%22sourceType%22%3A%22answer%22%2C%22sourceId%22%3A2559002625%7D)库的依赖,其中就包括pandas、scipy。而numpy本身不依赖于任何其他Python[软件包](https://www.zhihu.com/search?q=%E8%BD%AF%E4%BB%B6%E5%8C%85&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra=%7B%22sourceType%22%3A%22answer%22%2C%22sourceId%22%3A2559002625%7D),只依赖于加速的线性代数库,通常为 Intel MKL或 OpenBLAS。 ![1700741082948](image/Python_study/1700741082948.png) pandas是python数据处理的核心库,它基于数组形式提供了极其丰富的[数据操作](https://www.zhihu.com/search?q=%E6%95%B0%E6%8D%AE%E6%93%8D%E4%BD%9C&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra=%7B%22sourceType%22%3A%22answer%22%2C%22sourceId%22%3A2559002625%7D),对比excel[有过之而无不及](https://www.zhihu.com/search?q=%E6%9C%89%E8%BF%87%E4%B9%8B%E8%80%8C%E6%97%A0%E4%B8%8D%E5%8F%8A&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra=%7B%22sourceType%22%3A%22answer%22%2C%22sourceId%22%3A2559002625%7D)。它可以对各种数据进行运算操作,比如归并、再成形、选择,还有[数据清洗](https://www.zhihu.com/search?q=%E6%95%B0%E6%8D%AE%E6%B8%85%E6%B4%97&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra=%7B%22sourceType%22%3A%22answer%22%2C%22sourceId%22%3A2559002625%7D)和数据加工特征,广泛应用在学术、金融、[统计学](https://www.zhihu.com/search?q=%E7%BB%9F%E8%AE%A1%E5%AD%A6&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra=%7B%22sourceType%22%3A%22answer%22%2C%22sourceId%22%3A2559002625%7D)等各个数据分析领域。 一般来说,学python数据分析只需要学透pandas就够了,辅助加一些numpy、scipy、matplotlib等库。 ![1700741101380](image/Python_study/1700741101380.png) scipy 是一个用于数学、科学、工程领域的常用软件包,可以处理[最优化](https://www.zhihu.com/search?q=%E6%9C%80%E4%BC%98%E5%8C%96&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra=%7B%22sourceType%22%3A%22answer%22%2C%22sourceId%22%3A2559002625%7D)、[线性代数](https://www.zhihu.com/search?q=%E7%BA%BF%E6%80%A7%E4%BB%A3%E6%95%B0&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra=%7B%22sourceType%22%3A%22answer%22%2C%22sourceId%22%3A2559002625%7D)、积分、插值、拟合、[特殊函数](https://www.zhihu.com/search?q=%E7%89%B9%E6%AE%8A%E5%87%BD%E6%95%B0&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra=%7B%22sourceType%22%3A%22answer%22%2C%22sourceId%22%3A2559002625%7D)、快速傅里叶变换、[信号处理](https://www.zhihu.com/search?q=%E4%BF%A1%E5%8F%B7%E5%A4%84%E7%90%86&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra=%7B%22sourceType%22%3A%22answer%22%2C%22sourceId%22%3A2559002625%7D)、[图像处理](https://www.zhihu.com/search?q=%E5%9B%BE%E5%83%8F%E5%A4%84%E7%90%86&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra=%7B%22sourceType%22%3A%22answer%22%2C%22sourceId%22%3A2559002625%7D)、[常微分方程求解器](https://www.zhihu.com/search?q=%E5%B8%B8%E5%BE%AE%E5%88%86%E6%96%B9%E7%A8%8B%E6%B1%82%E8%A7%A3%E5%99%A8&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra=%7B%22sourceType%22%3A%22answer%22%2C%22sourceId%22%3A2559002625%7D)等。 。 其包含的模块有最优化、线性代数、积分、插值、特殊函数、快速傅里叶变换、信号处理和图像处理、常微分方程求解和其他科学与工程中常用的计算。 scipy中主要的计算模块: scipy.integrate:[数值积分](https://www.zhihu.com/search?q=%E6%95%B0%E5%80%BC%E7%A7%AF%E5%88%86&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra=%7B%22sourceType%22%3A%22answer%22%2C%22sourceId%22%3A2559002625%7D)例程和微分方程求解器 scipy.linalg:扩展了由numpy.linalg提供的线性代数例程和[矩阵分解](https://www.zhihu.com/search?q=%E7%9F%A9%E9%98%B5%E5%88%86%E8%A7%A3&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra=%7B%22sourceType%22%3A%22answer%22%2C%22sourceId%22%3A2559002625%7D)功能 scipy.optimize:函数优化器(最小化器)以及跟查找算法 scipy.signal:信号处理工具 scipy.sparse:[稀疏矩阵](https://www.zhihu.com/search?q=%E7%A8%80%E7%96%8F%E7%9F%A9%E9%98%B5&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra=%7B%22sourceType%22%3A%22answer%22%2C%22sourceId%22%3A2559002625%7D)和系数[线性系统](https://www.zhihu.com/search?q=%E7%BA%BF%E6%80%A7%E7%B3%BB%E7%BB%9F&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra=%7B%22sourceType%22%3A%22answer%22%2C%22sourceId%22%3A2559002625%7D)求解器 scipy.special:SPECFUN(这是一个实现了许多常用数学函数(如[伽马函数](https://www.zhihu.com/search?q=%E4%BC%BD%E9%A9%AC%E5%87%BD%E6%95%B0&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra=%7B%22sourceType%22%3A%22answer%22%2C%22sourceId%22%3A2559002625%7D))的Fortran库)的包装器 scipy.stats:标准连续和[离散概率分布](https://www.zhihu.com/search?q=%E7%A6%BB%E6%95%A3%E6%A6%82%E7%8E%87%E5%88%86%E5%B8%83&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra=%7B%22sourceType%22%3A%22answer%22%2C%22sourceId%22%3A2559002625%7D)、各种[统计检验](https://www.zhihu.com/search?q=%E7%BB%9F%E8%AE%A1%E6%A3%80%E9%AA%8C&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra=%7B%22sourceType%22%3A%22answer%22%2C%22sourceId%22%3A2559002625%7D)方法,以及更好的[描述统计](https://www.zhihu.com/search?q=%E6%8F%8F%E8%BF%B0%E7%BB%9F%E8%AE%A1&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra=%7B%22sourceType%22%3A%22answer%22%2C%22sourceId%22%3A2559002625%7D)法 scipy.weave:利用内联C++代码加速数组计算的工具 综上所述,pandas和scipy是建立在[numpy数组](https://www.zhihu.com/search?q=numpy%E6%95%B0%E7%BB%84&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra=%7B%22sourceType%22%3A%22answer%22%2C%22sourceId%22%3A2559002625%7D)基础之上的数据工具,三者的协同工作可以高效解决很多问题,在金融、财务、天文、生物、气象和气候、材料等多个领域得到了广泛应用。 推荐几本不错的Python[数据分析](https://www.zhihu.com/search?q=%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90&search_source=Entity&hybrid_search_source=Entity&hybrid_search_extra=%7B%22sourceType%22%3A%22answer%22%2C%22sourceId%22%3A2559002625%7D)书 [![python-1](https://picx.zhimg.com/v2-1da41f8fb8eb84b696b8326a3f191ab7_720w.jpg?source=b555e01d)广告利用Python进行数据分析(原书第2版)京东**¥78.60**去购买](https://union-click.jd.com/jdc?e=jdext-1528645603055288320-0-1&p=JF8BAQMJK1olXDYCV1xVAU0UB19MRANLAjZbERscSkAJHTdNTwcKBlMdBgABFksUAWcBHVgRQl9HCANtUitTAhRVWVp2NUJ4IzdVUElOeBRwTVcZbQYLVFxVCUoXBGw4G1oUXQIHV11bCXsnA2o4TTUVXAcDVV9YCU8UM244G1wRWwUAUlpdC0wRAF8IE18li6iWgdbi0fuy1cWmztaliI-pgODbOHsnAF9TTg9cGBoCUF1UD04TBG4KGl8RXg8LVl1cFEoLA18IGloVVQEGV1pcZkp5A2cLHFMSVAALVG5dOEgnXQEJSFsVCAUDXDAADBhJVD1XTjUQVQ4DVF1dCHsVAm4KGWsl) [![python-2](https://picx.zhimg.com/v2-03c4a8ef721e3f3e9f68a5da4738f63e_720w.jpg?source=b555e01d)广告Python数据科学手册(图灵出品)京东**¥91.20**去购买](https://union-click.jd.com/jdc?e=jdext-1528645609501913088-0-1&p=JF8BAQMJK1olXDYCVl9UAE0XB19MRANLAjZbERscSkAJHTdNTwcKBlMdBgABFksVAmYAHVsRQl9HCANtfThAQhRpcAB2KQVQClZUAR1oYwpAXVcZbQYLVFxVCUoXBGw4G1oUXQIHV11bCXsnA2o4TTUVXAcDUV5eCkoXM244G1wRWwUAUlpdDUseC18IE18li6iWgdbi0fuy1cWmztaliI-pgODbOHsnAF9TTg9cGBoCUF1UD04TBG4AH1oVVQYAVVdUFEoLA18IGloVVQEGV1pcZkp5A2cLHFMSVAALVG5dOEgnXQEJSFsWWFRWAzAADBhJVDpNXTUQVQQCXF9UAHsVAm4KGWsl)