Python科学计算之ufunc操作上

http://www.bizhi88.com/bizhi/102085.html

ufunc是universal function的缩写,它是一种能对数组的每个元素进行操作的函数。NumPy内置的许 多ufunc函数都是在C语言级别实现的,因此它们的计算速度非常快。让我们来看一个例子:

sin函数对x内的每一个元素进行计算


先用linspace产生一个从0到2*PI的等距离的10个数,然后将其传递给sin函数,由于np.sin是一个ufunc函数,因此它对x中的每个元素求正弦值,然后将结果返回,并且赋值给y。计算之后x中的值并 没有改变,而是新创建了一个数组保存结果。如果我们希望将sin函数所计算的结果直接覆盖到数组x上 去的话,可以将要被覆盖的数组作为第二个参数传递给ufunc函数。例如:


sin函数的第二个参数也是x,那么它所做的事情就是对x中的每给值求正弦值,并且把结果保存到x中的对应的位置中。此时函数的返回值仍然是整个计算的结果,只不过它就是x,因此两个变量的id是相同的(变量t和变量x指向同一块内存区域)。

就像这样的一种使用法

import timeimport mathimport numpy as npx = [i*0.001 for i in range(1000000)]start = time.clock()
for i, t in enumerate(x): x[i] = math.sin(t)print("math.sin:", time.clock()-start)

x = [i*0.001 for i in range(1000000)]x = np.array(x)start = time.clock()np.sin(x, x)print("numpy.sin:", time.clock()-start)

这里的代码就卡住了,我时间模块写错了


今天很晚了,程序也报错了.去修了~

(0)

相关推荐

  • 6行python代码的爱心线

    前些日子在做绩效体系的时候,遇到了一件囧事,居然忘记怎样在Excel上拟合正态分布了,尽管在第二天重新拾起了Excel中那几个常见的函数和图像的做法,还是十分的惭愧.实际上,当时有效偏颇了,忽略了问题 ...

  • python 中 numpy array 中的维度

    简介 numpy 创建的数组都有一个shape属性,它是一个元组,返回各个维度的维数.有时候我们可能需要知道某一维的特定维数. 二维情况 >>> import numpy as np ...

  • 第 84 天:NumPy 数学函数

    本文向大家介绍 NumPy 常见的数学函数. NumPy 三角函数 三角函数是基本初等函数之一,是以角度(数学上最常用弧度制,下同)为自变量,角度对应任意角终边与单位圆交点坐标或其比值为因变量的函数. ...

  • 手把手教你用Matplotlib进行数据可视化

    导读:Matplotlib是建立在NumPy数组上的一个多平台数据可视化库.在2002年,约翰·亨特(John Hunter)提出Matplotlib,最初的构思是设计为IPython的一个补丁,以便 ...

  • 如何获取numpy数组的真实地址?如何与ctypes数组共享内存?

    如何获取numpy数组的真实地址?如何与ctypes数组共享内存?

  • 【Python科学计算】使用NumPy水平组合数组和垂直组合数组

    【Python科学计算】使用NumPy水平组合数组和垂直组合数组

  • 3段极简代码带你入门Python科学计算库SciPy

    大数据DT 提供大数据.AI等领域干货学习资源的「宝藏号」,跟50万技术人共同成长,一起玩转大数据.Python.数据分析.数据科学.人工智能!还会有各种好玩又奇葩的数据解读,边学习边吃瓜! 510篇 ...

  • Python科学计算之简单环境搭建

    这个是对于Python做科学计算,一张相对完整的思维导图 在以前的科学计算是没有conda的地位的,都是这个python(x,y)的项目 你可以尝试的使用,我这里就是一个推荐 https://pyth ...

  • 当空气能热泵遇上散热片,配多少片才合适?快来看科学计算

    选自<空气源热泵供暖设计与施工指南> 鉴于普通型热泵出水温度比较低( 通常供水45℃ ),使得传统散热器不能充分发挥其在标定工况(供水95℃)的散热能力,我们必须选择更多的散热面积,因此就 ...

  • ​Python又添一大科学计算库,基于Armadillo矩阵库的PyArmadillo发布

    正文 目前,Python 拥有众多科学计算库, 最为著名的如 NumPy 和 SciPy.但从代数运算以及使用语法来看, 这些库往往会带来不必要的繁琐,没办法直观地管理其中的数据类型.因此将 Arma ...

  • Python常用科学计算库有哪些?

    大家都知道,编程语言有很多,其中包括Python.Java.PHP等.对比其他编程语言来讲,Python具有非常独特的优势,它拥有很多第三方库,可应用于各大领域,比如人工智能.科学计算.那么Pytho ...

  • 三天搞定Python基本功,Day 2科学计算篇

    很多朋友给我留言说为什么没有更新了.实在抱歉,这几天确实有点焦头烂额,晚上回家很累就直接睡了.终于今天忙完,所以今天更新第二篇. 这些课件我参考了很多的资料,有网上资源,也有一些教材,然后自己整理出来 ...

  • 挖掘自己操作上20%的闪光点,你就有新的突破

    挖掘自己操作上20%的闪光点,你就有新的突破.成长不断与自己对话,不断与市场对话.这是一个很现实的问题,每个人的成长都离不开挖掘自己与反省自己. 你的操作有80%的是无效的,但你的操作肯定有20%是点 ...

  • Python效率不好?莫慌,这7大Python效率工具你得用上!

    为了提高效率,我们在平时工作中常会用到一些Python的效率工具,Python作为比较老的编程语言,它可以实现日常工作的各种自动化.为了更便利的开发项目,这里给大家推荐几个Python的效率工具. 1 ...