热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python三维数据转换成二维_Python科学计算全生态工具锦集

没关注?伸出手指点这里AIPython目前是与科学计算结合最好的一门编程语言,包括大数据分析、机器学习、人工智能、可视化,甚至是天文学、生物学(神经科学

 4ddc392c365767ba93983de1570da5a8.gif

没关注?  伸出手指点这里


AI

    Python目前是与科学计算结合最好的一门编程语言,包括大数据分析、机器学习、人工智能、可视化,甚至是天文学、生物学(神经科学)、量子力学等等都有强大的工具包支持


Python的科学计算工具

54f7d79a1f40e7e712bd5ce3b178d77c.png

  • Scipy生态 Python中用于科学计算的开源软件的集合

  • 使用和开发此堆栈的人员社区

  • 一些专门讨论科学计算的会议 Python-Scipy、EuroSciPy和SciPy.in

  • SciPy Library 是组成SciPy堆栈的核心包之一。它提供了许多用户友好和高效的数值程序,如用于数值积分、插值、优化、线性代数和统计的程序


Scipy生态

54f7d79a1f40e7e712bd5ce3b178d77c.png

Python中的科学计算建立在一个小核心包的基础上

  • Python 通用程序设计语言。它是解释和动态类型化的,非常适合交互式工作和快速原型设计,同时功能强大,可以在中编写大型应用程序

  • Numpy 数值计算的基本程序包。它定义了数值数组和矩阵类型及其基本运算

  • Scipy Library 一组数值算法和特定领域的工具箱,包括信号处理、优化、统计等

  • Matplotlib 一个成熟和流行的绘图软件包,提供出版质量的二维绘图和基本的三维绘图

在此基础上,SciPy生态系统包括用于数据管理和计算、生产性实验和高性能计算的通用和专业工具。下面我们将概述一些关键的包,尽管还有很多相关的包

数据和计算

  • pandas 提供高性能、易于使用的数据结构

  • SymPy 用于符号数学和计算机代数

  • scikit-image 图像处理算法的集合

  • scikit-learn 机器学习算法和工具的集合

  • h5py和PyTables都可以访问以HDF5格式存储的数据

高性能计算

  • IPython 一个丰富的交互界面,让您快速处理数据和测试想法

  • Jupyter 在您的web浏览器中提供IPython等功能,允许您以易于复制的形式记录您的计算

  • Cython 扩展Python语法,以便您可以方便地构建C扩展,既可以加快关键代码,也可以与C/C++库集成

  • Dask、Joblib、 IPyParallel 用于以数字数据为中心的分布式处理


软件专题

54f7d79a1f40e7e712bd5ce3b178d77c.png

通用Python资源

  • Python.org Python语言的官方网站

  • Python Package Index (PyPI) 官方Python.org包索引

  • The Python Cookbook 社区驱动的代码片段集合

  • The O’Reilly Python DevCenter O'Reilly被广泛认为是最好的计算机图书出版商之一,他们维护着一个专门用于Python的资源中心

  • The Python Learning Foundation

教程和文本

1.通用Python/编程教程

  • 标准Python文档 它包含该语言附带的官方文档和教程

  • Learn Python Python交互站点

  • 如何像计算机科学家一样思考 Python初学者的免费书籍

  • 为数据科学学习Python 互动网站,提供Python教程,重点介绍数据科学应用程序

2.使用Python的科学计算教程

  • 主要的NumPy和SciPy文档

  • Python科学讲义 关于科学Python生态系统的一整套教程

  • Software Carpentry 一门开放源码的基本软件开发技能课程,面向具有科学、工程和医学背景的人

  • Python科学计算讲座

  • Introduction to Statistics 统计学概论基本统计概念概论,结合一整套应用实例,用Python进行统计数据分析

科学:基本工具

    这些链接涵盖了基本工具,这些工具通常对几乎任何领域的科学工作都有用。后面列出的许多更具体的包依赖于其中的一个或多个包

  • Scipy 伞形项目,包括各种高级的科学和工程模块作为一个单一的包在一起。SciPy包括线性代数(包括BLAS和LAPACK的包装)、优化、集成、特殊函数、FFTs、信号和图像处理、ODE解算器等模块

  • NumPy

  • ScientificPython 用于科学计算的Python模块的另一个集合。它包括基本几何(矢量、张量、变换、矢量和张量场)、四元数、自动导数、(线性)插值、多项式、基本统计、非线性最小二乘拟合、单位计算、Fortran兼容文本格式、通过VRML的三维可视化,以及两个用于简单线图和三维线框模型的Tk小部件。还有到netCDF库(可移植结构化二进制文件)、到MPI(消息传递接口、基于消息的并行编程)和到BSPlib(大容量同步并行编程)的接口。这些功能中的大部分已经集成到了SciPy中,但并不是全部

  • Numexpr 一个包,它接受numpy数组表达式作为字符串,重写它们以优化执行时间和内存使用,并且执行它们的速度比numpy通常能够更快

  • PyGSL GNU科学库(gsl)的Python接口

  • GMPY2 GNU多精度库(gmp)的Python接口

  • PyROOT 根框架的基于运行时的Python绑定:根是一个用于开发科学应用程序的完整系统,从数学和图形库到高效存储和读取大量数据集,再到分布式分析。Python绑定是基于运行时类型信息的,这样您就可以将自己的C++类添加到系统中,一个内衬和向下浇铸以及指针操作变得不必要。使用RTTI可以将内存和调用开销降到最低,从而使绑定比任何“标准”绑定生成器都更轻、更快

  • bvp 用于COLNEW边值问题求解器的修改版本的Python包装器

  • NetworkX 用于创建、操作和研究复杂网络的结构、动力学和功能

  • PyAMG 求解大规模线性代数问题的代数多重网格(AMG)解库

  • PyTrilinos Python与Trilinos的接口,Trilinos是一个用于解决大规模、复杂的多物理工程和科学问题的框架

  • PyIMSLStudio 一个完整的打包、支持和文档化的Windows和Red Hat开发环境,设计用于建立数学和统计模型的原型并将其部署到生产应用程序中。PyIMSL Studio包括IMSL数字库的包装器、Python发行版和一些可用于原型分析开发的开源Python模块。PyIMSL Studio可免费下载,用于非商业用途或商业评估

  • Bottleneck 一组用Cython编写的快速NumPy数组函数

  • KryPy 求解稀疏大矩阵线性代数系统的Krylov子空间方法包

  • Imageio 它提供了一个简单的接口,可以读取和写入各种图像数据,包括动画图像、视频、体积数据和科学格式。它是跨平台的,在Python2.x和3.x上运行,并且易于安装

  • mpmath 一个免费(BSD许可)的Python库,可用于任意精度的实数和复杂浮点运算

  • paramnormal scipy.stats模块的包装器,它有助于创建、拟合概率分布,并将其可视化为更常规的参数

  • MetroloPy 处理物理量的MetroloPy工具:不确定性传播和单位转换


绘图、数据可视化、三维编程

54f7d79a1f40e7e712bd5ce3b178d77c.png

二维工具

  • matplotlib

  • OpenCV

  • Yellowbrick

  • Bokeh

  • Chaco

  • PyQwt

数据可视化:三维、曲面和体绘制

  • Mayavi2

  • visvis

  • S2PLOT

  • Panda3D

任意维工具

  • SpaceFuncs

  • pyqtgraph


优化

54f7d79a1f40e7e712bd5ce3b178d77c.png

  • CMA

  • CVXOPT

  • CVXPY

  • DEAP

  • ECsPy

  • Mystic

  • NLPy

  • OpenOpt

  • PuLP

  • PyEvolve

  • Pyiopt

  • Pyomo

  • python-zibopt

  • scikits.optimization

  • lmfit-py

  • noisyopt

  • scipydirect

系统非线性方程组

  • fsolve 来自 scipy.optimize

  • symphy 可用于求解线性和非线性方程

自动微分

    不要通过有限差分导数逼近和符号微分与数值微分混淆,由最大值、符号等提供,参见WikIOTIA.ORG条目

  • FuncDesigner

  • ScientificPython

  • pycppad

  • pyadolc

  • algopy

  • CasADi

  • autograd

有限差分导数逼近

  • check_grad

  • DerApproximator

  • numdifftools

偏微分方程解算器

  • FiPy

  • SfePy

  • Hermes


主题指南--按科学领域组织

54f7d79a1f40e7e712bd5ce3b178d77c.png

天文学

  • AstroPy

  • AstroPython

  • Astropy

  • PyRAF

  • BOTEC

  • AstroLib

  • APLpy

  • Tutorial

  • Casa

  • Healpy

  • Pysolar

  • pywcsgrid2

  • pyregion

  • SpacePy

人工智能与机器学习

  • scikit learn

  • ffnet

  • pyem

  • PyBrain

  • Orange

  • pymorph Morphology Toolbox

  • pycplex

  • ELEFANT

  • Bayes Blocks

  • Monte Python

  • hcluster

  • PyPR

  • Theano

  • NeuroLab

贝叶斯统计

  • PyMC2

  • PyBayes

  • NIFTY

生物学(包括神经科学)

  • Brian

  • BioPython

  • PyCogent

  • Python For Structural BioInformatics Tutorial

  • PySAT: Python Sequence Analysis Tools (Version 1.0)

  • PySCeS: the Python Simulator for Cellular Systems

  • SloppyCell

  • PyDSTool

  • NIPY

  • ACQ4

  • Vision Egg

  • PsychoPy

  • pyQPCR

  • VeSPA

  • Neo

  • Myokit

  • MNE-Python

动力系统

  • PyDSTool

  • SimPy

  • Model-Builder

  • VFGEN

  • DAE Tools

  • ODES

  • Mousai

经济学与计量经济学

  • pyTrix

  • pandas

电磁学与电气工程

  • FiPy

  • FEval

  • EMPy

  • Optics of multilayer films

  • openTMM

  • pyLuminous

  • pyofss

  • ThunderStorm

  • electrode

  • scikit-rf

  • netana

地球科学

  • CDAT

  • seawater

  • atmqty

  • TAPPy - Tidal Analysis Program in Python

  • ClimPy

  • GIS Python

  • SimPEG

分子模拟

  • Biskit

  • PyMOL

  • UCSF Chimera

  • The Python Macromolecular Library (mmLib)

  • MDTools for Python

  • BALL - Biochemical Algorithms Library

  • SloppyCell

  • PyVib2

  • ASE

  • PyEMMA

信号处理

  • GNU Radio

  • pysamplerate

  • audiolab

  • PyWavelets

  • PyAudiere

  • CMU Sphinx

符号数学与数论

  • NZMATH

  • SAGE

  • SAGE

  • Python bindings for CLNUM

  • Kayali

量子力学

  • QuTiP

  • QNET

  • PyQuante

  • QmeQ


参考文献

[1] https://www.scipy.org

dac5581d64a4e57471267b0ded919e0f.gif

  • 知识图谱与认知智能

  • 智能运维三部曲

  • 我们谈论AIOps时,聊些什么

  • 容器技术(序)

6568e69ce96fa53763fde358719e0ede.png

2f6eb9fc61c78b4cafb1b883400ab32d.gif



推荐阅读
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 本文由编程笔记#小编为大家整理,主要介绍了logistic回归(线性和非线性)相关的知识,包括线性logistic回归的代码和数据集的分布情况。希望对你有一定的参考价值。 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • 学习SLAM的女生,很酷
    本文介绍了学习SLAM的女生的故事,她们选择SLAM作为研究方向,面临各种学习挑战,但坚持不懈,最终获得成功。文章鼓励未来想走科研道路的女生勇敢追求自己的梦想,同时提到了一位正在英国攻读硕士学位的女生与SLAM结缘的经历。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • 本文介绍了C#中生成随机数的三种方法,并分析了其中存在的问题。首先介绍了使用Random类生成随机数的默认方法,但在高并发情况下可能会出现重复的情况。接着通过循环生成了一系列随机数,进一步突显了这个问题。文章指出,随机数生成在任何编程语言中都是必备的功能,但Random类生成的随机数并不可靠。最后,提出了需要寻找其他可靠的随机数生成方法的建议。 ... [详细]
  • 本文介绍了如何使用PHP向系统日历中添加事件的方法,通过使用PHP技术可以实现自动添加事件的功能,从而实现全局通知系统和迅速记录工具的自动化。同时还提到了系统exchange自带的日历具有同步感的特点,以及使用web技术实现自动添加事件的优势。 ... [详细]
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • Java序列化对象传给PHP的方法及原理解析
    本文介绍了Java序列化对象传给PHP的方法及原理,包括Java对象传递的方式、序列化的方式、PHP中的序列化用法介绍、Java是否能反序列化PHP的数据、Java序列化的原理以及解决Java序列化中的问题。同时还解释了序列化的概念和作用,以及代码执行序列化所需要的权限。最后指出,序列化会将对象实例的所有字段都进行序列化,使得数据能够被表示为实例的序列化数据,但只有能够解释该格式的代码才能够确定数据的内容。 ... [详细]
  • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
    本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
author-avatar
快乐的芙蓉HAPPY
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有