Python科学计算学习一 NumPy 快速处理数据

1 创建数组

(1) array(boject, dtype=None, copy=True, order=None, subok=False, ndmin=0)

a = array([1, 2, 3, 4])

b = array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]])

a.dtype    --> dtype(‘int32‘)

a.shape    --> (4,)

b.shape    -->(3, 4)

a.shape=2, -1  #(-1时自动计算,相当于2, 6)

c = a.reshape((2,2))  #c和a公用一个空间

(2) arange([start,] stop [,step], dtype=None) 

a = arange(5)    -->array([0, 1, 2, 3, 4])

a[2:4]    -->array([2,3])

a[:-1]    -->array([0, 1, 2, 3])  #下标为负数,表示从后往前数

a[2:4] = 20, 30    -->array([0, 1, 20, 30, 4])  #可以通过下标修改元素

x = arange(5, 0, -1)    -->array([5, 4, 3, 2, 1])

x[array([True, False, True, False])]

-->array([5, 3])   #只获取布尔数组中True所在的下标 0 2 长度不够算False

x[array([True, False, False, True, False])) = -5, -2  #用布尔数组修改True所在下标的元素

x    -->array([-5, 4, 3, -2, 1])

(3) linspace(start, stop, num=50, endpoint=True, retstep=False) #等差数列的一维数组

logspane(start, stop, num=50, endpoint=True, base=10)         #等比数列的一维数组

(4) frombuffer

  fromfile

  fromstring(string, dtype=float, count=-1, sep=‘ ‘)

fromstring(‘abcdefgh‘, int8)

-->array([ 97, 98, 99, 100, 101, 102, 103, 104], dtype=int8)  #一个字符占1个字节(Byte)=8位(bit),

fromstring(‘abcdefgh‘, in16)

-->array([25185, 25699, 26213, 26727], dtype=int16)  #25185=98*256 + 97

(5) fromfunction(funtion, shape, **kwargs)


def func(i, j):

  return (i+1) * (j+1)

a = fromfunction(func, (9, 9))    -->  生成一个99乘法口诀二维数组 a[i, j] = func(i, j)

上面等价于 arange(1,10).reashape(-1,1) * arange(1,10)

时间: 2024-10-07 11:28:05

Python科学计算学习一 NumPy 快速处理数据的相关文章

Python科学计算:用NumPy快速处理数据

创建数组 import numpy as np a=np.array([1,2,3]) b=np.array([[1,2,3],[4,5,6],[7,8,9]]) b[1,1]=10 print(a.shape) print(b.shape) print(a.dtype) print(b) 结构数组 import numpy as np persontype=np.dtype({ "names":["name","age","chine

windows下安装python科学计算环境,numpy scipy scikit等

背景: 目的:要用Python下的DBSCAN聚类算法. scikit-learn 是一个基于SciPy和Numpy的开源机器学习模块,包括分类.回归.聚类系列算法,主要算法有SVM.逻辑回归.朴素贝叶斯.Kmeans.DBSCAN等,目前由INRI 资助,偶尔Google也资助一点. SciPy是一个开源的Python算法库和数学工具包,SciPy包含的模块有最优化.线性代数.积分.插值.特殊函数.快速傅里叶变换.信号处理和图像处理.常微分方程求解和其他科学与工程中常用的计算.其功能与软件MA

linux中安装python科学计算环境-numpy、scipy、matplotlib、OpenCV...

http://blog.csdn.net/pipisorry/article/details/39902327 在Ubuntu中安装numpy.scipy.matplotlib.OpenCV等 和Python(x,y)不一样,在Ubuntu中需要手工安装科学计算的各个模块, 如何安装IPython, NumPy, SciPy, matplotlib, PyQt4, Spyder, Cython, SWIG, ETS, OpenCV: 在Ubuntu下安装Python模块通常可以使用apt-get

Python科学计算之Pandas

Reference: http://mp.weixin.qq.com/s?src=3&timestamp=1474979163&ver=1&signature=wnZn1UtWreFWjQbpWweZXp6RRvmmKwW1-Kud3x6OF0czmyPqv*F6KzQ1i-dKhi4D-QvDjp1mFDdqAHLPrCLgMOb1KXJcbbkU5-QAREDarkCaPumjQlORzVAOma541S0X2MGgysuH18DI2567rBcTSkMHPsVf6sxClfB

Python科学计算(二)windows下开发环境搭建(当用pip安装出现Unable to find vcvarsall.bat)

用于科学计算Python语言真的是amazing! 方法一:直接安装集成好的软件 刚开始使用numpy.scipy这些模块的时候,图个方便直接使用了一个叫做Enthought的软件.Enthought是一家位于美国得克萨斯州首府奥斯汀的软件公司,主要使用Python从事科学计算工具的开发.Enthought里面包含了很多库,不需要你自己安装就可以直接使用了. 其实还又很多Python科学计算的集成软件,比如Python(x, y)和WinPython,个人感觉WinPython还是不错的,里面包

目前比较流行的Python科学计算发行版

经常有身边的学友问到用什么Python发行版比较好? 其实目前比较流行的Python科学计算发行版,主要有这么几个: Python(x,y) GUI基于PyQt,曾经是功能最全也是最强大的,而且是Windows系统中科学免费Python发行版的不二选择.不过今时已不同往昔! PythonXY里面的许多包为了兼容性的问题,无法使用最新的程序包.尤其是令人气愤的是MinGW到现在还是古董级的4.5版本,而TDM-GCC现在都4.8.1-3了.不过这个包在你安装了之后,除了占用较大的磁盘空间之外,基本

Python科学计算函数库介绍

数值计算库 NumPy为Python提供了快速的多维数组处理的能力,而SciPy则在NumPy基础上添加了众多的科学计算所需的各种工具包,有了这两个库,Python就有几乎和Matlab一样的处理数据和计算的能力了. NumPy和SciPy官方网址: http://www.scipy.org NumPy为Python带来了真正的多维数组功能,并且提供了丰富的函数库处理这些数组.它将常用的数学函数都进行数组化,使得这些数学函数能够直接对数组进行操作,将本来需要在Python级别进行的循环,放到C语

Python科学计算开发环境搭建

用于科学计算Python语言真的是amazing! 刚开始使用numpy.scipy这些模块的时候,图个方便直接使用了一个叫做Enthought的软件.Enthought是一家位于美国得克萨斯州首府奥斯汀的软件公司,主要使用Python从事科学计算工具的开发.Enthought里面包含了很多库,不需要你自己安装就可以直接使用了. 但是后来觉得Enthought里面这么多模块也用不到,就想自己从头安装Python,自己安装某块. 下面我以在64位的Windows7下安装32位的Python2.7为

Python科学计算——Matplotlib

Matplotlib python科学计算系列 matplotlib 是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图.而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中. 它的文档相当完备,并且Gallery页面中有上百幅缩略图,打开之后都有源程序.因此如果你需要绘制某种类型的图,只需要在这个页面中浏览/复制/粘贴一下,基本上都能搞定. gallery展示页面的地址 简单介绍 该内容来自pyplot_tutorial官方文档 plt.pl