zoukankan      html  css  js  c++  java
  • Python笔记001-----简介及常用的库

    1.Python是一种解释性语言,大部分代码要比编译型语言(如C++,java等)运行要慢点多。

    2.对于高并发,多线程的应用程序而言,Python并不是理想语言,python有全局解释器锁(Global Interpreter Lock, GIL),放置解释器同时执行多条Python字节码指令的机制。并不是说Python不能执行真正的多线程并行代码,只不过这些代码不能在单个Python进程中执行而已。比如说,Cython项目可以集成OpenMP(一个用于并行计算的C框架)以实现并
    行处理循环进而大幅度提高数值算法的速度。

    3.Python重要的库

    • NumPy (Numerical Python的简称)是Python科学计算的基础包(和基于NumPy以及构建于其上的库,包含以下功能)
      • 快速高效的多位数组对象ndarray。
      • 用于对数组执行元素级计算以及直接对数执行数学运算的函数。
      • 用于读写硬盘上给予数组的数据集的工具。
      • 线性代数、傅里叶变换,及随机数生成。
      • 用于将C、C++、Fortran代码集成到Python的工具。
      • 除了为Python提供快速的数组处理能力,NumPy在数据分析方面上还有一个主要作用,及作为在算法之间传递数据的容器,对于树址型数据,NumPy数组在存储和处理数据时要比内置的Python数据结构高效的多,因此有低级语言(如C,Fortran)编写的库可直接操作NumPy数组中的数据,无需进行任何数据复制工作。



    • pandas
      • pandas提供了是我们能够快速便捷的处理结构化数据的的大量数据结构和函数,它是是Python成为强大而高效的数据分析环境的重要因素之一,常用的pandas对象是DataFrame,它是一个面向列(column-orienter)的二维表结构,且含有行标和列标。
      • pandas兼具NumPy高性能的数组计算功能以及电子表格和关系型数据库(如SQL),灵活的数据处理功能。它提供了复杂精细的索引功能,以便更为便捷的完成重塑、切片和切块、聚合及选取数据子集等操作。pandas库是最主要的库之一。
      • 对于金融行业,pandas提供了大量适用于金融数据的高性能时间序列功能和工具。
      • pandas这个名字本身源于panel data(面板数据,这是计量经济学中关于多维结构化数据集的一个术语),以及Python data analysis(Python数据分析)
    • matplotlib
      • matplotlib是最流行的用于绘制数据图表的Python库,非常适合创建出版物上用的图表,与IPython结合的很好,因而提供了一种非常好用的交互式数据绘图环境,绘制的图表也是交互式的,可以利用绘图窗口中的工具栏放大图表中的某个区域或对整个图表进行平移浏览。
    • IPython
      • IPython是Python科学计算标准工具集的组成部分,他将其他所用的东西联系到了一起,他为交互式和探索是计算提供了一个强健而高效的环境,它是一个增强的Python shell,目前是提高编写、测试、Python代码数度。它主要用于交互式数据处理和利用matplotlib对数据进行可视化处理。我们在使用Python编程时,经常会用到IPython,包括运行、调试和测试代码。
      • 除标准的基于终端的IPython shell外,该库还提供了一个类似于Mathematica的HTML笔记本(通过Web浏览器连接IPython);一个基于Qt框架的Gui控制台,其中含有绘图、多行编程以及语法高亮显示的功能;用于交互式并行和分布式计算的基础框架。
    • SciPy
      • SciPy是一组专门解决科学计算中各种标准呢问题域的包的集合,主要包括以下包:
        • scipy.integrate: 数值积分例程和微分方程求解器。
        • scipy.linalg: 扩展了又numpy。linalg提供的线性代数例程和矩阵分解功能。
        • scipy.optimize: 函数优化器(最小化器) 以及根查找算法。
        • scipy。signal: 信号处理工具。
        • scipy.sparse: 稀疏矩阵和稀疏线性系统求解器。
        • scipy.saecial: SPECFUN(这是一个实现了许多常用数学函数(如伽玛函数)的Fortran库)
        • scipy.stats: 标准连续和离散概率分布(如密度函数、采样器、连续分布函数等)、各种统计检验方法库,以及更好的描述统计法。
        • scipy.weave: 利用内联C++代码加速数组计算的工具。
      • NumPy跟SciPy的有机线性结合完全可以替代MATLAB的计算功能(包括插件工具箱);(MATLAB是美国MathWords公司出品的商业数学软件,用于算法开发】数据可视化、数据分析以及数值计算的狗啊及计算语言和交互式环境,主要包括MATLABHE Simulink两大部分。它将数值分、矩阵计算、科学数据可视化以及非线性动态系统的见默默和仿真等诸多强大功能集成在一个抑郁使用视窗环境中,为科学研究、工程实际以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案。MATLAB和Mathematical、Mapple并称为三大数学软件)
  • 相关阅读:
    HDU3336 Count the string —— KMP next数组
    CodeForces
    51Nod 1627 瞬间移动 —— 组合数学
    51Nod 1158 全是1的最大子矩阵 —— 预处理 + 暴力枚举 or 单调栈
    51Nod 1225 余数之和 —— 分区枚举
    51Nod 1084 矩阵取数问题 V2 —— 最小费用最大流 or 多线程DP
    51Nod 机器人走方格 V3 —— 卡特兰数、Lucas定理
    51Nod XOR key —— 区间最大异或值 可持久化字典树
    HDU4825 Xor Sum —— Trie树
    51Nod 1515 明辨是非 —— 并查集 + 启发式合并
  • 原文地址:https://www.cnblogs.com/sjxbg/p/6568886.html
Copyright © 2011-2022 走看看