NumPy和SciPy的关系?

 

numpy提供了数组对象,面向的任何使用者。scipy在numpy的基础上,面向科学家和工程师,提供了更为精准和广泛的函数。scipy几乎实现numpy的所有函数,一般而言,如果scipy和numpy都有这个函数的话,应该用scipy中的版本,因为scipy中的版本往往做了改进,效率更高。但是,有一些同名函数,却有着不同的行为,比如log10,linalg.solve。这些不同的行为,最需要我们的注意。

scipy对numpy的“覆盖”是怎么样的?用SciPy Reference Guide中的话说,“all of the Numpy functions have been subsumed into the scipy namespace so that all of those functions are available without additionally importing Numpy.”

同时,在scipy的__init__.py中,找到了这个:

import numpy as _num

​linalg = None

from numpy import *

from numpy.random import rand, randn

from numpy.fft import fft, ifft

from numpy.lib.scimath import *

可见,reference所言不虚,但也不精准。对于两者的清晰界定,以__init__.py为准。

如果想继续深究numpy和scipy中同名函数的不同,有一个函数非常好用,那就是source,它可以用来查看源代码。通过分析源代码,自然就能很清楚的搞明白实现的不同啦。

以上可知,尽管有了scipy,numpy的用处就没多大了,但是呢,numpy还是有一定的“不可替代性”。所以,没什么特殊的要求,这样引入:

import numpy as np

import scipy as sp

import matplotlib.pyplot as plt

最新文章

  1. 表格与ckeckbox的全选与单选
  2. 转:C# WinForm获取 当前执行程序路径的几种方法
  3. Android 自定义View 总结
  4. c++的类与对象
  5. js验证电话号码的正则表达式
  6. POJ1625 Censored!(AC自动机+DP)
  7. ScrollView中嵌入ListView,GridView冲突的解决(让ListView全显示出来)
  8. Linux自启动
  9. poj 1849 Two
  10. Bootstrap_表单_图标
  11. Android获得控件在屏幕中的绝对坐标
  12. mongodb的安装方法
  13. SQL Server死锁产生原因及解决办法 .
  14. bootstrap 3.0 LESS源代码浅析(二)
  15. Linux 目录结构_004
  16. APP性能测试,网易Emmagee工具
  17. django进阶-1
  18. UpdateBatch到底是怎么用的?
  19. Android Room使用详解
  20. BZOJ3996 TJOI2015线性代数

热门文章

  1. Java - PhantomJS + EChartsConvert实现ECharts图片保存到服务端
  2. P1162填涂颜色
  3. python3—廖雪峰之练习(三)
  4. some problem
  5. BZOJ 1906. 树上的蚂蚁
  6. 简洁的Asp.net菜单控件
  7. SpringMVC设置不拦截静态资源css,js
  8. git上传代码到code.csdn.net
  9. mongo配置
  10. CCPC-Wannafly Winter Camp Day1 (Div2, onsite) - I 起起落落