p**o 发帖数: 3409 | 1 不知道版上有没有用Python做科学计算的同好,
本人近日在带Lion的新MBA上安装Python科学计算包遇到了困难,
现把失败经历小结如下,希望后来人不要重走弯路,
如果能为本人指出一条“正路”就更感谢。
尝试1. MacPorts
macports是我第一个试的,下面这些包可以通过编译:gnuplot libsvm py27-numpy
py27-scipy py27-matplotlib python27-doc py27-sympy py27-ipython py27-
networkx py27-pymc py27-django py27-libdnet py27-lint py27-mysql py27-pip
py27-ply py27-pygraphviz py27-pyrex py27-rpy2 py27-scientific py27-sqlite
py27-svn py27-tables py27-tornado igraph py27-igraph py27-numexpr py27-pp
py27-cython py27-psyco py27-twisted... 阅读全帖 |
|
V*********r 发帖数: 666 | 2 http://mail.scipy.org/pipermail/numpy-discussion/2006-September
`mi=numpy.sum(narr==2)`, or `mi=(narr==2).sum()`
Here `narr==2` is a numpy array.
So you'd better use numpy's own sum() method.
Similarly, when counting non-zero elements, use
`(narr!=0).sum()`, or a dedicated/faster version
`numpy.count_nonzero(narr)` |
|
S******y 发帖数: 1123 | 3 I have installed numpy1.3 to python 2.6.2 on windows XP.
But I keep getting the following error when I try to call numpy from IDLE -
>>>
>>> import numpy
Traceback (most recent call last):
File "", line 1, in
import numpy
File "C:\Python26\lib\site-packages\numpy\__init__.py", line 130, in <
module>
import add_newdocs
File "C:\Python26\lib\site-packages\numpy\add_newdocs.py", line 9, in <
module>
from lib import add_newdoc
File "C:\Python26\lib\site-pack |
|
S******y 发帖数: 1123 | 4 I have installed numpy1.3 to python 2.6.2 on windows XP.
But I keep getting the following error when I try to call numpy from IDLE -
>>>
>>> import numpy
Traceback (most recent call last):
File "", line 1, in
import numpy
File "C:\Python26\lib\site-packages\numpy\__init__.py", line 130, in <
module>
import add_newdocs
File "C:\Python26\lib\site-packages\numpy\add_newdocs.py", line 9, in <
module>
from lib import add_newdoc
File "C:\Python26\lib\site-pack |
|
m********5 发帖数: 17667 | 5 那是当然
你用的sum是python stl, 不是numpy.sum; 它会先把numpy.array()变成stl.list然后
再sum, 当然巨慢, 这位仁兄最好重头学一下python, 直接捣鼓numpy是不行的
学编程从MATLAB学起的确害人 |
|
d*****u 发帖数: 17243 | 6 aaa = numpy.expand_dims(numpy.expand_dims(a, axis=1), axis=2)
result = aaa * b |
|
i*****f 发帖数: 578 | 7 【 以下文字转载自 Programming 讨论区 】
发信人: icewolf (好好活), 信区: Programming
标 题: 有matplotlib或numpy/scipy的同学帮我试试
发信站: BBS 未名空间站 (Wed Feb 10 16:47:54 2010, 美东)
【 以下文字转载自 Python 俱乐部 】
发信人: icewolf (好好活), 信区: Python
标 题: 有matplotlib或numpy/scipy的同学帮我试试
发信站: BBS 未名空间站 (Wed Feb 10 16:45:08 2010, 美东)
from pylab import *
figure()
plot(range(10))
show()
savefig('bla.pdf')
存成文件执行,看看savefig()那行是否crash?
好奇怪,前几天还好好的。
Fatal Python error: PyEval_RestoreThread: NULL tstate
This application has requested the Runtime to ter |
|
i***r 发帖数: 1035 | 8 我有个10万行的matrix用来测试 全是0,1,2。
看起来大概这样
1 2 1 2 2 1 2 2 1 2 2 1 2 0 0 0 2 1
我要找多少个2,多少个1或者2
for line in f:
arr = line.split()
mi = arr.count('2')
ex = len(arr) - arr.count('0')
print('{:.4f}'.format(mi/ex))
用numpy:
for line in f:
narr = numpy.array( line.split(), dtype=int )
mi = sum( narr == 2 )
ex = sum( narr != 0 )
print('{:.4f}'.format(mi/ex))
上面的code 14秒完成,下面的10分钟了还在跑。。。 |
|
|
n****1 发帖数: 1136 | 9 numpy是用来做浮点运算的, 譬如逆矩阵, 找eigenvalue. 你这个应用只牵涉到整点的
比较/运算, 与numpy八竿子打不着关系, 怎么可能快? |
|
p**z 发帖数: 65 | 10 要查看numpy都用了哪些数学库,用下面的函数:
numpy.show_config()
结果在Windows机器上大概像这样:
lapack_opt_info:
libraries = ['mkl_lapack95_lp64', 'mkl_core_dll', 'mkl_intel_lp64_dll',
'mkl_intel_thread_dll']
library_dirs = ['C:\Python27\libs']
define_macros = [('SCIPY_MKL_H', None)]
include_dirs = ['C:\Python27\include']
blas_opt_info:
libraries = ['mkl_core_dll', 'mkl_intel_lp64_dll', 'mkl_intel_thread_dll
']
library_dirs = ['C:\Python27\libs']
define_macros = [('SCIPY_MKL_H', None)]
include_... 阅读全帖 |
|
f**********d 发帖数: 4960 | 11 a是k维矢量
b是k*i*j维array
想用a给b的第二第三维组成的矩阵加权
即用a1给b【1,:,:】加权,and so on。
这个用哪个numpy函数可以方便地得到? |
|
|
|
i*****f 发帖数: 578 | 14 【 以下文字转载自 Python 俱乐部 】
发信人: icewolf (好好活), 信区: Python
标 题: 有matplotlib或numpy/scipy的同学帮我试试
发信站: BBS 未名空间站 (Wed Feb 10 16:45:08 2010, 美东)
from pylab import *
figure()
plot(range(10))
show()
savefig('bla.pdf')
存成文件执行,看看savefig()那行是否crash?
好奇怪,前几天还好好的。
Fatal Python error: PyEval_RestoreThread: NULL tstate
This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.
我的系统:win7, matplotlib 0.99.01 |
|
|
G*****7 发帖数: 1759 | 16 for what? to complete your collection of pointless items, or to teach your
kid/grandpa numpy? |
|
r*****3 发帖数: 143 | 17 Title:SciPy and NumPy
By: Eli Bressert
Publisher:O'Reilly Media
Ebook: November 2012
Language: English
Format: PDF/EPUB
Size: 9MB
Pages: 74
Download:
http://ul.to/fl8kcnv3 |
|
|
|
n******7 发帖数: 12463 | 20 这个我知道
其实几天前我写clojure比java还有经验些
用这个得再学clojure,短时间搞不定了
另外,也不知道这个包的质量如何
毕竟是个半个人项目
网站都做的乱死了
现在做math/statistics
MATLAB和R算一流工具
numpy/scipy算二流的
其他我试过的都是三流往下了... |
|
|
n******7 发帖数: 12463 | 22 因为python generally比java慢一个数量级
我写的code不可能只调用numpy的function
另外,java整个生态系统很强大
Java写多线程也很容易,我之前零经验,找着别人代码改改,一下子就work了
静态语言debug太爽了
还有,我对python前途没信心
python 2.x 到 3.x就是broken的
想起了perl 6的难产 |
|
n******7 发帖数: 12463 | 23 不知道你的point是什么
我是需要一个这样的package,不是要用java写这样的一个package
这个package的核心是什么语言都无所谓
不然用matlab R numpy的都可以去死了 |
|
w*x 发帖数: 518 | 24 np.polyfit本身就可以,加一个keyword argument让full=True就行。
p, residuals, rank, singular_values, rcond = numpy.polyfit(x, y, deg, full=
True) |
|
w***g 发帖数: 5958 | 25 纠结了这么多年C++没有好的矩阵包,现在终于不用想了。
再过一个月ubuntu 18.04就出来了。将来就都是boost::python::numpy了。
python将成为C++不可分割的一部分。 |
|
w***g 发帖数: 5958 | 26 应该说是有了boost的numpy和python接口更方便了。
C++内部用啥都可以。轮子定了,各种依赖反正也没的选。
比如vcg依赖eigen,所以eigen我也用。 |
|
w***g 发帖数: 5958 | 27 纠结了这么多年C++没有好的矩阵包,现在终于不用想了。
再过一个月ubuntu 18.04就出来了。将来就都是boost::python::numpy了。
python将成为C++不可分割的一部分。 |
|
w***g 发帖数: 5958 | 28 应该说是有了boost的numpy和python接口更方便了。
C++内部用啥都可以。轮子定了,各种依赖反正也没的选。
比如vcg依赖eigen,所以eigen我也用。 |
|
w***g 发帖数: 5958 | 29 是这样。还是很不爽。
只比之前PyArray_XXX好点。
github上有个opencv/numpy自动转换器挺好用。可惜opencv只能撸图片。 |
|
w*****r 发帖数: 197 | 30 用过numpy under MinPy吗? 不知道和boost::python是否兼容? |
|
|
w***g 发帖数: 5958 | 32 看了一眼,eigen已经可以和numpy对接了。不错!
我要学习去了。 |
|
r****t 发帖数: 10904 | 33 Ubuntu 18.04 和 boost::python::numpy 有啥关系? |
|
w***g 发帖数: 5958 | 34 16.04的boost里好像没有numpy支持。 |
|
M******e 发帖数: 48 | 35 看一个以前的贴子,有人用Python,想看看有人用NumPy不?有什么体会? |
|
q**j 发帖数: 10612 | 36 我的python是2.6的。NumPy只有2.5的,也只要2.5的python。这下麻烦了。难道要找个
旧的python装上? |
|
q**j 发帖数: 10612 | 37 这种问题很难回答。你看看
from numpy import *?
其实还是2.5好。以后直接换成3.0。比如现在rpy就没有2.6的。所以不方便。 |
|
f********t 发帖数: 117 | 38 did you make sure you use numpy for 2.6. |
|
S******y 发帖数: 1123 | 39 thanks for all your help! qqzj and firstquant.
I switched to python 2.5 and numpy's exe.
That worked well! |
|
S******y 发帖数: 1123 | 40 Ok. I first downloaded and installed Python 2.5 on windows XP.
Then I downloaded numpy and extracted it, and run installation.
Got the following error : |
|
w*s 发帖数: 7227 | 41 【 以下文字转载自 Programming 讨论区 】
发信人: wds (大盘5000不是梦), 信区: Programming
标 题: numpy有polyfit, 有没有直接的函数返回polyfit的误差
发信站: BBS 未名空间站 (Wed Jan 11 00:03:50 2017, 美东)
如果我理解对了,polyfit的误差应该跟linefit一样是用least square的。
那么有没有函数直接返回其误差? |
|
w*s 发帖数: 7227 | 42 【 以下文字转载自 Programming 讨论区 】
发信人: wds (大盘5000不是梦), 信区: Programming
标 题: numpy有polyfit, 有没有直接的函数返回polyfit的误差
发信站: BBS 未名空间站 (Wed Jan 11 00:03:50 2017, 美东)
如果我理解对了,polyfit的误差应该跟linefit一样是用least square的。
那么有没有函数直接返回其误差? |
|
|
m****n 发帖数: 3016 | 44 新手,问个问题。有什么办法从google app engine 里 import numpy 么?
在python 里单独用可以,但是放在gae里就不work了,说无法import
谢谢了! |
|
m********5 发帖数: 17667 | 45 Scipy和numpy的小bug确实比较多,但是也还没有到不堪用的地步
你说的这种类型转换bug,一般的numpy用户根本不会注意到,因为numpy用户大多喜欢
越早转为numpy.array越好,很少直接使用python native数据类型
你用的python list不接受其实很正常,只要有err throw出来很容易理解
R和matlab用习惯的人,特别是以前没有重头学过数值计算的人的确不适合使用现阶段
的numpy,不过我们正在逐步改进,目前来说主要还是数值计算的人在用,傻瓜化的关
注可能不是很高。
你说的算不正确的问题
1. 其实是因为很多矩阵,特别是大型矩阵需要有预处理,matlab和R很多时候已经在内
部隐含地处理了。而scipy和numpy需要你自己预处理。
2. 其次是精度问题,这方面numpy不是傻瓜的,为了速度所有都需要手动干预。用个最
简单的例子来说,mean(A),如果A很长,即使A全是1, numpy直到很近期的版本也得不到
正确数值,近期版的matlab就可以。这是因为numpy.mean用纯累加方式求均数,如果想
得到正确数字需要预处理,或者用更sma... 阅读全帖 |
|
S*A 发帖数: 7142 | 46 你说的对,numpy slice 的确是使用 view. 我也试过了,对于我的应用
不行。我的问题是数据量很大,就算用 mmap 也要非常有技巧。
问题是 numpy 的 slice object 比 python array.array
费很多内存。我估计 numpy slice 在 200 byte 左右。这样 slice 数目
多上去以后总的内存还是没有省。
import numpy
fp = numpy.memmap("big-file-over-1G-byte", dtype='uint32')
x = [ fp[i] for i in xrange(0, len(fp), 50)]
# load all the thing in memory. Python should take 1.x G here
x = [ fp[i:i+1] for i in xrange(0, len(fp), 50)]
# Python take over 2G here.
不知道你要问什么 bypassing.
我会写 Python 的 C module. 代码看上去很多,但是其实很多是重复... 阅读全帖 |
|
r***l 发帖数: 45 | 47 我的程序找不到 numpy :
ImportError: No module named numpy
但是我发现我的numpy 已经安装了,
/usr/include/python2.6/numpy
/usr/include/python2.7/numpy
我的python 也有2。6 和2。7 两个version.
是不是两个version 不知道选哪个呢?
这个问题怎么解决呢? |
|
|
I*****y 发帖数: 602 | 49 numpy的路径不对。
1. 修改PYTHONPATH,把numpy的路径加进去。
2. 或者直接在code里面,直接指定numpy路径 (不推荐).
import sys
sys.path.append("/usr/inlcude/python2.7/numpy") |
|
s****h 发帖数: 921 | 50 arya,你说你自己编译了一次numpy.
请问可以得到source file of nympy?
有个技术支持的人告诉我:
他们的软件是用VC++8编译的,所以跟nympy不兼容.
如果我能用VC++8编译一下numpy,就可以了.
他说:
our program is compiled with Visual Studio VC++8. The numpy program
is not compiled with Visual Studio VC++8. That's why
they cannot work from the same Python script.
If you have access to numpy source and know how to build it, you can
build that using Visual Studio VC++ 8 compiler. That will be compatible
with our program. |
|