numpy

发布时间 2023-12-29 00:42:40作者: Partikel

NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。

NumPy 通常与 SciPy(Scientific Python)和 Matplotlib(绘图库)一起使用, 这种组合广泛用于替代 MatLab,是一个强大的科学计算环境,有助于我们通过 Python 学习数据科学或者机器学习。

Pandas:

基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。最具有统计意味的工具包,某些方面优于R软件。数据结构有一维的Series,二维的DataFrame(类似于Excel或者SQL中的表,如果深入学习,会发现Pandas和SQL相似的地方很多,例如merge函数),三维的Panel(Pan(el) + da(ta) + s,知道名字的由来了吧)。

1.汇总和计算描述统计,处理缺失数据 ,层次化索引
2.清理、转换、合并、重塑、GroupBy技术
3.日期和时间数据类型及工具(日期处理方便地飞起)

Matplotlib:

Python中最著名的绘图系统,很多其他的绘图例如seaborn(针对pandas绘图而来)也是由其封装而成。
绘制的图形可以大致按照ggplot的颜色显示,但是还是感觉很鸡肋。但是matplotlib的复杂给其带来了很强的定制性。其具有面向对象的方式及Pyplot的经典高层封装。

需要掌握的是:
1.散点图,折线图,条形图,直方图,饼状图,箱形图的绘制。
2.绘图的三大系统:pyplot,pylab(不推荐),面向对象
3.坐标轴的调整,添加文字注释,区域填充,及特殊图形patches的使用

Scipy:

方便、易于使用、专为科学和工程设计的Python工具包.它包括统计,优化,整合,线性代数模块,傅里叶变换,信号和图像处理,常微分方程求解器等等。基本可以代替Matlab,但是使用的话和数据处理的关系不大,数学系,或者工程系相对用的多一些。
近期发现有个statsmodel可以补充scipy.stats,时间序列支持完美

Numpy实例:

    import numpy

    x = numpy.array(['a', '9', '8', '1'])

    y = numpy.array([[3,5,7],[9,2,6],[5,3,0]])

    x.sort()

    y.sort()

    y1 = y.max()

    y2 = y.main()

pandas实例:import pandas as pda    a = pda.Series([8, 9, 2, 1], index=['one', 'two', 'three', 'four'])    b = pda.DataFrame([[5,6,2,3],[3,5,1,4],[7,9,3,5]], columns=['one', 'two', 'three', 'four'],index=['one', 'two', 'three'])    c = pda.DataFrame({        'one':4         'two':[6,2,3],        'three':list(str(982))    })    e = b.head()    f = b.describe()    g = b.T
    print(e)
    print(f)
    print(g)matplotlib实例:import matplotlib.pylab as pyl    import numpy as npy    x = [1,2,4,6,8,9]    y = [5,6,7,8,9,0]    pyl.plot(x, y)     pyl.plot(x, y, 'D')    pyl.title('name')     pyl.xlabel('xname')     pyl.ylabel('yname')     pyl.xlim(0,20)      pyl.ylim(2,22)      pyl.show()    data = npy.random.random_integers(1,20,100)     data2 = npy.random.normal(10.0, 1.0, 10000)     pyl.hist(data)    pyl.hist(data2)    sty = npy.arange(2,20,2)     pyl.hist(data, sty, histtype='stepfilled')     pyl.subplot(2, 2, 2)     x1 = [2,3,5,8,6,7]    y1 = [2,3,5,9,6,7]    pyl.plot(x1, y1)    pyl.subplot(2, 2, 1)    x1 = [2,3,5,9,6,7]    y1 = [2,3,5,9,6,7]    pyl.plot(x1, y1)    pyl.subplot(2, 1, 2)     x1 = [2,3,5,9,6,7]    y1 = [2,3,9,5,6,7]    pyl.plot(x1, y1)    pyl.show()