python常用数据科学的模块[0]

python常用数据科学的模块[0]

python以其丰富的第三方库能够实现远远超于其自身的功能的软件。

以下是常见的数据科学用到的python库。

  • Pandas——数据操作

项目地址:https://github.com/pandas-dev/pandas

官网:https://pandas.pydata.org/

Pandas 是 Python 语言的一个扩展程序库,用于数据分析。pandas提供了快速便捷处理结构化数据的大量数据结构和函数,是高性能、易于使用的数据结构和数据分析工具。Pandas 一个强大的分析结构化数据的工具集,基础是 Numpy(提供高性能的矩阵运算)。Pandas 可以从各种文件格式比如 CSV、JSON、SQL、Microsoft Excel 导入数据。Pandas 可以对各种数据进行运算操作,比如归并、再成形、选择,还有数据清洗和数据加工特征。Pandas 广泛应用在学术、金融、统计学等各个数据分析领域。

 

  • Plotly——数据绘图

Plotly 是一个非常强大的开源数据可视化框架,它通过构建基于 HTML 的交互式图表来显示信息,可创建各种形式的精美图表。本文所说的 Plotly 指的是 Plotly.js 的 Python 封装,plotly本身是个生态非常复杂的绘图工具,它对很多编程语言提供接口。交互式和美观易用应该是 Plotly 最大的优势,而 Matplotlib 的特点则是可定制化程度高,但语法也相对难学,各有优缺点。

 

  • streamlit——数据显示

Streamlit 是一个基于 Python 的 Web 应用程序框架,致力于以更高效、更灵活的方式可视化数据,并分析结果。Streamlit是一个开源库,可以帮助数据科学家和学者在短时间内开发机器学习 (ML) 可视化仪表板。只需几行代码,我们就可以构建并部署强大的数据应用程序。

streamlit-folium:用于渲染Folium贴图的Streamlit组件

streamlit-option-menu:用于显示web选项的Streamlit组件

 

  • folium——绘制地图

Folium是一个基于leaflet.js的Python地图库,其中,Leaflet是一个非常轻的前端地图可视化库。即可以使用Python语言调用Leaflet的地图可视化能力。它不单单可以在地图上展示数据的分布图,还可以使用Vincent/Vega在地图上加以标记。Folium可以让你用Python强大生态系统来处理数据,然后用Leaflet地图来展示。

 

  • Matplotlib——数据绘图

官网:https://matplotlib.org/

Matplotlib是一个Python 2D绘图库,它以多种硬拷贝格式和跨平台的交互式环境生成出版物质量的图形。 Matplotlib可用于Python脚本,Python和IPython (opens new window)Shell、Jupyter (opens new window)笔记本,Web应用程序服务器和四个图形用户界面工具包。

 

  • SciPy——数学运算

官网:https://scipy.org/

是一个科学的python开源代码,用于执行数学,科学和工程计算,SciPy是一组专门解决科学计算中各种标准问题域的包的集合。SciPy库依赖于NumPy,它提供了便捷且快速的N维数组操作。 SciPy库的构建与NumPy数组一起工作,并提供了许多用户友好和高效的数字实践,例如:数值积分和优化的例程。 它们一起运行在所有流行的操作系统上,安装快速且免费。 NumPy和SciPy易于使用,但强大到足以依靠世界上一些顶尖的科学家和工程师。

 

  • numpy——数值计算

官网:https://numpy.org/

NumPy是一个开源的Python库,主要用在数据分析和科学计算,基本上可以把NumPy看做是Python数据计算的基础,因为很多非常优秀的数据分析和机器学习框架底层使用的都是NumPy。比如:Pandas, SciPy, Matplotlib, scikit-learn, scikit-image 等。

 

  • seaborn——机器学习

官网:https://seaborn.pydata.org/

Seaborn是一种基于matplotlib的图形可视化python libraty。它提供了一种高度交互式界面,便于用户能够做出各种有吸引力的统计图表。Seaborn其实是在matplotlib的基础上进行了更高级的API封装,从而使得作图更加容易,在大多数情况下使用seaborn就能做出很具有吸引力的图,而使用matplotlib就能制作具有更多特色的图。应该把Seaborn视为matplotlib的补充,而不是替代物。同时它能高度兼容numpy与pandas数据结构以及scipy与statsmodels等统计模式。掌握seaborn能很大程度帮助我们更高效的观察数据与图表,并且更加深入了解它们。

 

  • SKlearn

scikit-learn,又写作sklearn,是一个开源的基于python语言的机器学习工具包。它通过NumPy, SciPy和Matplotlib等python数值计算的库实现高效的算法应用,并且涵盖了几乎所有主流机器学习算法。

 

  • statsmodels

statsmodels是一个统计分析包,起源于斯坦福大学统计学教授Jonathan Taylor,他设计了多种流行于R语言的回归分析模型。Skipper Seabold和Josef Perktold在2010年正式创建了statsmodels项目,随后汇聚了大量的使用者和贡献者。受到R的公式系统的启发,Nathaniel Smith发展出了Patsy项目,它提供了statsmodels的公式或模型的规范框架。

 

  • IPython和Jupyter

虽然IPython本身没有提供计算和数据分析的工具,它却可以大大提高交互式计算和软件开发的生产率。IPython鼓励“执行-探索”的工作流,区别于其它编程软件的“编辑-编译-运行”的工作流。它还可以方便地访问系统的shell和文件系统。因为大部分的数据分析代码包括探索、试错和重复,IPython可以使工作更快。

 

 

  • 实现matlab近似替代

numpy+scipy+matplotlib≈matlab

numpy来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多,本身是由C语言开发

matplotlib是Python中最著名的绘图系统

scipy方便、易于使用、专为科学和工程设计的Python工具包

numpy官网:https://numpy.org/

scipy官网:https://www.scipy.org/

matplotlib官网:https://matplotlib.org/

 

 

 

其他有价值的网站:

https://wizardforcel.gitbooks.io/pyda-2e/content/1.html

https://bookdata.readthedocs.io/en/latest/

 

参考资料:

  1. https://www.runoob.com/pandas/pandas-tutorial.html
  2. https://zhuanlan.zhihu.com/p/85557161
  3. https://blog.csdn.net/zhouchen1998/article/details/108976110
  4. https://www.matplotlib.org.cn/intro/#%E5%85%B6%E4%BB%96%E5%AD%A6%E4%B9%A0%E8%B5%84%E6%BA%90
  5. https://www.yiibai.com/scipy/scipy_introduction.html
  6. https://segmentfault.com/a/1190000039863303
  7. https://zhuanlan.zhihu.com/p/58358393
  8. https://wizardforcel.gitbooks.io/pyda-2e/content/1.html
Comments are closed.