`
喜欢蓝色的我
  • 浏览: 367164 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

python 科学计算numpy

 
阅读更多

安装python(x,y),通过google下载python (x,y)
是exe 安装文件,只能安装到windows上

numpy之ndarray对象

>>> import numpy as np
>>> array([1,2,3,4])
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'array' is not defined
>>> b=np.array((1,2,3,4,))
>>> d
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'd' is not defined
>>> b
array([1, 2, 3, 4])
>>> c=np.array([1,2,3],[2,3,4])
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: data type not understood
>>> c = np.array([[1,2,3],[2,3,4]])
>>> c
array([[1, 2, 3],
       [2, 3, 4]])
查看数组类型
>>> c.dtype
dtype('int32')
>>> c.shape
(2, 3)
>>> c.shape = 2 ,-1
>>> c
array([[1, 2, 3],
       [2, 3, 4]])
>>> c.shape = -1,2
>>> c
array([[1, 2],
       [3, 2],
       [3, 4]])
>>> n = c.reshape((2,3))
>>> n
array([[1, 2, 3],
       [2, 3, 4]])
>>> n[0][0]= 10
>>> n
array([[10,  2,  3],
       [ 2,  3,  4]])
>>> c
array([[10,  2],
       [ 3,  2],
       [ 3,  4]])
array([1, 2, 3])
生成等差数列
>>> np.logspace(1,10,3)
array([  1.00000000e+01,   3.16227766e+05,   1.00000000e+10])
>>> s = "hello"
>>> np.fromstring(s,dtype=np.int8)
array([104, 101, 108, 108, 111], dtype=int8)

结构数组
AttributeError: 'module' object has no attribute 'S32'
>>> person = np.dtype([('names', [('name', np.S25)])])
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'S25'
>>> np.dtype({'surname':('S25',0),'age':(np.uint8,25)})
dtype([('surname', 'S25'), ('age', 'u1')])
>>> np.dtype({'surname':('S25',0),'age':(np.uint8,25)})
dtype([('surname', 'S25'), ('age', 'u1')])
>>> np.dtype({'names':['gender','age'], 'formats':['S1',np.uint8]})
dtype([('gender', 'S1'), ('age', 'u1')])

numpy 之ufunc 运算
ufunc计算速度非常快,都是调用c语言实现的
先生成一个数组
>>> x = np.arange(1,10,1)
>>> x
array([1, 2, 3, 4, 5, 6, 7, 8, 9])
计算数组的sin值
>>> y = np.sin(x)
>>> y
array([ 0.84147098,  0.90929743,  0.14112001, -0.7568025 , -0.95892427,
       -0.2794155 ,  0.6569866 ,  0.98935825,  0.41211849])

用普通python包计算sin(x)需要时间
>>> from time import time
>>> x = [i*0.001 for i in xrange(10000)]
>>> start = time()
>>> import math
>>> for i ,t in enumerate(x):
...     x[i]=math.sin(t)
...
>>> print time() -start
60.1679999828

用np来计算sin的值
>>> x = [i*0.001 for i in xrange(10000)]
>>> x = np.array(x)
>>> start = time()
>>> np.sin(x,x)
array([ 0.        ,  0.001     ,  0.002     , ..., -0.49290313,
       -0.49352947, -0.49415484])
>>> print time()-start
7.43000006676

两个数组可以加减乘除次方运算
>>> x = np.array([1,2,3])
>>> y = np.array([3,2,4])
>>> x+y
array([4, 4, 7])
>>> x-y
array([-2,  0, -1])
>>> x*y
array([ 3,  4, 12])
>>> y/x
array([3, 1, 1])
>>> x**y
array([ 1,  4, 81])


通过计算绘制一个波形图
>>> import numpy as np
>>> def func(x,c,c0,hc):
...     x = x - int(x)
...     if x >= c: r = 0.0
...     elif x < c0: r = x/c0*hc
...     else:
...         r = ((c-x)/(c-c0))*hc
...     return r
...
>>> print func(1,0.6,0.4,1.0)
0.0
>>> print func(0.2,0.6,0.4,1.0)
0.5
>>> print func(0.4,0.6,0.4,1.0)
1.0

>>> x = np.linspace(0,2,100)
>>> y = np.array([func(t,0.6,0.4,1.0) for t in x])
>>> print y
[ 0.          0.05050505  0.1010101   0.15151515  0.2020202   0.25252525
  0.3030303   0.35353535  0.4040404   0.45454545  0.50505051  0.55555556
  0.60606061  0.65656566  0.70707071  0.75757576  0.80808081  0.85858586
  0.90909091  0.95959596  0.97979798  0.87878788  0.77777778  0.67676768
  0.57575758  0.47474747  0.37373737  0.27272727  0.17171717  0.07070707
  0.          0.          0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.
  0.02525253  0.07575758  0.12626263  0.17676768  0.22727273  0.27777778
  0.32828283  0.37878788  0.42929293  0.47979798  0.53030303  0.58080808
  0.63131313  0.68181818  0.73232323  0.78282828  0.83333333  0.88383838
  0.93434343  0.98484848  0.92929293  0.82828283  0.72727273  0.62626263
  0.52525253  0.42424242  0.32323232  0.22222222  0.12121212  0.02020202
  0.          0.          0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.        ]


#frompyfunc 矩阵预算
>>> import numpy as np
>>> def func(c,c0,hc):
...     def trifunc(x):
...         x = x - int(x)
...         if x >= c:
...             r = 0.0
...         elif x < c0:
...             r = x / c0 * hc
...         else:
...             r = ((c - x) /(c - c0)) * hc
...         return r
...     return np.frompyfunc(trifunc , 1, 1)
...
>>> x = np.linspace(0,2,100)
>>> y = func(0.6,0.4,1.0)(x)
>>> print y.astype(np.float64)
[ 0.          0.05050505  0.1010101   0.15151515  0.2020202   0.25252525
  0.3030303   0.35353535  0.4040404   0.45454545  0.50505051  0.55555556
  0.60606061  0.65656566  0.70707071  0.75757576  0.80808081  0.85858586
  0.90909091  0.95959596  0.97979798  0.87878788  0.77777778  0.67676768
  0.57575758  0.47474747  0.37373737  0.27272727  0.17171717  0.07070707
  0.          0.          0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.
  0.02525253  0.07575758  0.12626263  0.17676768  0.22727273  0.27777778
  0.32828283  0.37878788  0.42929293  0.47979798  0.53030303  0.58080808
  0.63131313  0.68181818  0.73232323  0.78282828  0.83333333  0.88383838
  0.93434343  0.98484848  0.92929293  0.82828283  0.72727273  0.62626263
  0.52525253  0.42424242  0.32323232  0.22222222  0.12121212  0.02020202
  0.          0.          0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.          0.
  0.          0.          0.          0.          0.          0.        ]


numpy之矩阵运算




分享到:
评论

相关推荐

    Python 科学计算——numpy 篇

    在Python的科学计算领域,numpy库扮演着至关重要的角色。...numpy的高效性和灵活性使其成为Python科学计算领域不可或缺的一部分。在实际项目中,掌握这些基础知识将极大地提升开发效率和代码质量。

    python科学计算基础教程电子版-Python科学计算基础(整理).pdf

    NumPy是Python科学计算的基础,提供了多维数组和矩阵运算,以及线性代数、傅立叶变换和随机数生成等功能。Numba项目进一步提升了NumPy的性能,通过Just-In-Time(JIT)编译技术,将Python函数转换为机器码,显著提高...

    python 2.7.13 + numpy对应版本

    Numpy,全称Numerical Python,是Python生态中的一个核心库,专门用于处理大型多维数组和矩阵,提供了丰富的数学函数库,对于科学计算有着至关重要的作用。 Python 2.7.13 是Python 2.x系列的最后一个主要版本,它...

    win64 python2.7+numpy+scipy+matplotlib64-exe

    标题中的"win64 python2.7+numpy+scipy+matplotlib64-exe"指的是一个针对Windows 64位操作系统编译的Python环境,包含了Python 2.7版本,以及三个重要的科学计算和数据可视化库:NumPy、SciPy和Matplotlib。...

    Python科学计算库-Numpy

    Python科学计算库Numpy是数据科学领域不可或缺的工具,它为高性能数值计算提供了强大的支持。Numpy库在Python中主要用于处理大型多维数组和矩阵,是许多其他科学计算库(如Pandas、Scipy和Matplotlib)的基础。下面...

    python科学计算的基本包-Python科学计算基本包Numpy使用的教程.pdf

    Numpy是Python科学计算的核心库,它为处理多维数据提供了强大的支持。Numpy的核心对象是`ndarray`,这是一个可以存储同质数据类型的n维数组。与Python的内置序列相比,`ndarray`在创建时具有固定的大小,且数组中的...

    numpy python3.6.x版本

    NumPy是Python科学计算的核心库,提供了多维数组对象、各种派生对象(如矩阵、掩码数组)以及大量的数学函数来操作这些数组。 描述中提到"注意python 3.6.x版本可以用,其他的安装可能会报错。" 这意味着在安装和...

    NumPy攻略 Python科学计算与数据分析 [(印尼)IvanIdris著;张崇明译]

    《NumPy攻略:Python科学计算与数据分析》是Python编程领域中一本重要的参考资料,由印尼的Ivan Idris撰写,并由张崇明翻译为中文。这本书面向的是对Python科学计算和数据分析感兴趣的读者,旨在帮助他们深入理解和...

    Python科学计算第2版--张若愚pdf书籍+源代码

    2. **Numpy库**:Numpy是Python科学计算的核心库,提供了多维数组对象Array,以及大量用于处理数组的函数。通过学习Numpy,读者可以理解和创建大型数据集,并进行高效的数值运算。 3. **Scipy库**:Scipy是基于...

    python 3.8 安装numpy和scipy

    Scipy(Scientific Python)则是一个更高级别的库,它建立在Numpy之上,提供了更多的科学计算工具,如信号处理、优化、插值、线性代数、统计和图像处理等功能。Scipy的安装同样可能遇到网络问题,此时也可以通过.whl...

    NumPy攻略++Python科学计算与数据分析

    《NumPy攻略++Python科学计算与数据分析》是深入学习Python科学计算领域的重要参考资料,它主要聚焦于NumPy库的应用,该库是Python编程语言中用于数值计算的核心工具。NumPy提供了一个高效的多维数据结构——数组...

    2021Python科学计算库-Numpy视频教程详解

    02Python科学计算库-Numpy 课时9科学计算库Numpy.mp4 - 48.70MB 课时8课程数据,代码,PPT.txt - 50bytes 课时7使用Anaconda安装python环境(Python新手先看这个).flv - 102.85MB 课时14不同复制操作对比.mp4 - 38....

    NumPy攻略 Python科学计算与数据分析(高清,带书签)

    《NumPy攻略:Python科学计算与数据分析》这本书深入探讨了Python在数值计算和数据分析领域的核心库——NumPy。NumPy是Python科学计算的基础,它提供了强大的数组对象和一系列用于处理这些数组的工具。以下是该书...

    Python 科学计算——numpy 篇,pandas 篇,scipy 篇。

    Python 科学计算介绍.mp4 pandas 篇: pandas 库之散点图.mp4 pandas 库之数据筛选及过滤.mp4 pandas 库之直方图.mp4 pandas 库之字符串提取与操作.mp4 scipy 篇: 常微分方程组.mp4 非线性方程组.mp4 数值积分.mp4

    python 2.7 win64 numpy

    最新的python科学计算numpy库64位

    在python中利用numpy求解多项式以及多项式拟合的方法

    在数据分析与科学计算领域,多项式运算及其拟合是非常基础且重要的技能之一。通过Python中的Numpy库,我们可以非常方便地进行这些操作。本文将详细介绍如何在Python中使用Numpy来求解多项式以及如何进行多项式拟合。...

    NumPy攻略: Python科学计算与数据分析 书中代码

    本压缩包中的"NumPy攻略: Python科学计算与数据分析 书中代码"包含了一系列示例和练习,旨在帮助用户深入理解NumPy的功能和用法。 1. **数组(Array)**: NumPy的基础是`ndarray`对象,也称为数组。数组可以存储同...

    探索Python中的NumPy:科学计算的瑞士军刀

    NumPy是Python中用于科学计算的基础包,以其强大的N维数组对象、派生对象以及相应的操作而闻名。它为Python提供了一个高速、功能丰富的数学计算能力,是进行数据分析、科学计算和机器学习等任务不可或缺的工具。本文...

    NumPy攻略: Python科学计算与数据分析

    **NumPy攻略:Python科学计算与数据分析** NumPy是Python编程语言中的一个核心库,专为处理大型多维数组和矩阵而设计。它为复杂的数值运算提供了高效且易用的接口,是数据科学、机器学习以及数值计算领域的基础工具...

    Python科学计算基础之Numpy1

    Python科学计算基础之Numpy1 Python科学计算基础之Numpy1是Python科学计算库的基础部分,主要介绍了NumPy的安装、基本概念和数学计算。 NumPy是一个开源的Python科学计算库,用于快速处理任意维度的数组。NumPy...

Global site tag (gtag.js) - Google Analytics