python numpy安装下numpy不成功,请问有没有简单的安装方法

Python NumPy库安装使用笔记
1. NumPy安装
使用pip包管理工具进行安装
$ sudo pip install numpy
使用pip包管理工具安装ipython(交互式shell工具)
$ sudo pip instlal ipython
$ ipython --pylab& #pylab模式下, 会自动导入SciPy, NumPy, Matplotlib模块
2. NumPy基础
2.1. NumPy数组对象
具体解释可以看每一行代码后的解释和输出
In [1]: a = arange(5)& # 创建数据
In [2]: a.dtype
Out[2]: dtype('int64')& # 创建数组的数据类型
In [3]: a.shape& # 数组的维度, 输出为tuple
Out[3]: (5,)
In [6]: m = array([[1, 2], [3, 4]])& # array将list转换为NumPy数组对象
In [7]: m& # 创建多维数组
array([[1, 2],
&&&&&& [3, 4]])
In [10]: m.shape& # 维度为2 * 2
Out[10]: (2, 2)
In [14]: m[0, 0]& # 访问多维数组中特定位置的元素, 下标从0开始
Out[14]: 1
In [15]: m[0, 1]
Out[15]: 2
2.2. 数组的索引和切片
In [16]: a[2: 4]& # 切片操作类似与Python中list的切片操作
Out[16]: array([2, 3])
In [18]: a[2 : 5: 2]& # 切片步长为2
Out[18]: array([2, 4])
In [19]: a[ : : -1]& # 翻转数组
Out[19]: array([4, 3, 2, 1, 0])
In [20]: b = arange(24).reshape(2, 3, 4)& # 修改数组的维度
In [21]: b.shape
Out[21]: (2, 3, 4)
In [22]: b& # 打印数组
array([[[ 0,& 1,& 2,& 3],
&&&&&&& [ 4,& 5,& 6,& 7],
&&&&&&& [ 8,& 9, 10, 11]],
&&&&&& [[12, 13, 14, 15],
&&&&&&& [16, 17, 18, 19],
&&&&&&& [20, 21, 22, 23]]])
In [23]: b[1, 2, 3]& # 选取特定元素
Out[23]: 23
In [24]: b[ : , 0, 0]& # 忽略某个下标可以用冒号代替
Out[24]: array([ 0, 12])
In [23]: b[1, 2, 3]
Out[23]: 23
In [24]: b[ : , 0, 0]& # 忽略多个下标可以使用省略号代替
Out[24]: array([ 0, 12])
In [26]: b.ravel()& # 数组的展平操作
array([ 0,& 1,& 2,& 3,& 4,& 5,& 6,& 7,& 8,& 9, 10, 11, 12, 13, 14, 15, 16,
&&&&&& 17, 18, 19, 20, 21, 22, 23])
In [27]: b.flatten()& # 与revel功能相同, 这个函数会请求分配内存来保存结果
array([ 0,& 1,& 2,& 3,& 4,& 5,& 6,& 7,& 8,& 9, 10, 11, 12, 13, 14, 15, 16,
&&&&&& 17, 18, 19, 20, 21, 22, 23])
In [30]: b.shape = (6, 4)& # 可以直接对shape属性赋值元组来设置维度
In [31]: b
array([[ 0,& 1,& 2,& 3],
&&&&&& [ 4,& 5,& 6,& 7],
&&&&&& [ 8,& 9, 10, 11],
&&&&&& [12, 13, 14, 15],
&&&&&& [16, 17, 18, 19],
&&&&&& [20, 21, 22, 23]])
In [30]: b.shape = (6, 4)& # 矩阵的转置
In [31]: b
array([[ 0,& 1,& 2,& 3],
&&&&&& [ 4,& 5,& 6,& 7],
&&&&&& [ 8,& 9, 10, 11],
&&&&&& [12, 13, 14, 15],
&&&&&& [16, 17, 18, 19],
&&&&&& [20, 21, 22, 23]])
2.3. 组合数组
In [1]: a = arange(9).reshape(3, 3)& # 生成数组对象并改变维度
array([[0, 1, 2],
&&&&&& [3, 4, 5],
&&&&&& [6, 7, 8]])
In [3]: b = a * 2& # 对a数组对象所有元素乘2
array([[ 0,& 2,& 4],
&&&&&& [ 6,& 8, 10],
&&&&&& [12, 14, 16]])
#######################
In [5]: hstack((a, b))& # 水平组合数组a和数组b
array([[ 0,& 1,& 2,& 0,& 2,& 4],
&&&&&& [ 3,& 4,& 5,& 6,& 8, 10],
&&&&&& [ 6,& 7,& 8, 12, 14, 16]])
In [6]: vstack((a, b))& # 垂直组合数组a和数组b
array([[ 0,& 1,& 2],
&&&&&& [ 3,& 4,& 5],
&&&&&& [ 6,& 7,& 8],
&&&&&& [ 0,& 2,& 4],
&&&&&& [ 6,& 8, 10],
&&&&&& [12, 14, 16]])
In [7]: dstack((a, b))& # 深度组合数组, 沿z轴方向层叠组合数组
array([[[ 0,& 0],
&&&&&&& [ 1,& 2],
&&&&&&& [ 2,& 4]],
&&&&&& [[ 3,& 6],
&&&&&&& [ 4,& 8],
&&&&&&& [ 5, 10]],
&&&&&& [[ 6, 12],
&&&&&&& [ 7, 14],
&&&&&&& [ 8, 16]]])
2.4. 分割数组
array([[0, 1, 2],
&&&&&& [3, 4, 5],
&&&&&& [6, 7, 8]])
In [9]: hsplit(a, 3)& # 将数组沿水平方向分割成三个相同大小的子数组
[array([[0],
&&&&&&& [3],
&&&&&&& [6]]),
&array([[1],
&&&&&&& [4],
&&&&&&& [7]]),
&array([[2],
&&&&&&& [5],
&&&&&&& [8]])]
In [10]: vsplit(a, 3)& # 将数组沿垂直方向分割成三个子数组
Out[10]: [array([[0, 1, 2]]), array([[3, 4, 5]]), array([[6, 7, 8]])]
2.5. 数组的属性
In [12]: a.ndim& # 给出数组的尾数或数组的轴数
Out[12]: 2
In [13]: a.size& # 数组中元素的个数
Out[13]: 9
In [14]: a.itemsize& # 数组中元素在内存中所占字节数(int64)
Out[14]: 8
In [15]: a.nbytes& # 数组所占总字节数, size * itemsize
Out[15]: 72
In [18]: a.T& # 和transpose函数一样, 求数组的转置
array([[0, 3, 6],
&&&&&& [1, 4, 7],
&&&&&& [2, 5, 8]])
2.6. 数组的转换
In [19]: a.tolist()& # 将NumPy数组转换成python中的list
Out[19]: [[0, 1, 2], [3, 4, 5], [6, 7, 8]]
3. 常用函数
In [22]: c = eye(2)& # 构建2维单位矩阵
In [23]: c
array([[ 1.,& 0.],
&&&&&& [ 0.,& 1.]])
In [25]: savetxt("eye.txt", c)& # 将矩阵保存到文件中
In [5]: c, v = loadtxt("test.csv", delimiter=",", usecols=(0, 1), unpack=True)& # 分隔符为, usecols为元组表示要获取的字段数据(每一行的第零段和第一段), unpack为True表示拆分存储不同列的数据, 分别存入c, v
In [12]: c
Out[12]: array([ 1.,& 4.,& 7.])
In [13]: mean(c)& # 计算矩阵c的mean均值
Out[13]: 4.0
In [14]: np.max(c)& # 求数组中的最大值
Out[14]: 7.0
In [15]: np.min(c)& # 求数组中的最小值
Out[15]: 1.0
In [16]: np.ptp(c)& # 返回数组最大值和最小值之间的差值
Out[16]: 6.0
In [18]: numpy.median(c)& # 找到数组中的中位数(中间两个数的平均值)
Out[18]: 4.0
In [19]: numpy.var(c)& # 计算数组的方差
Out[19]: 6.0
In [20]: numpy.diff(c)& # 返回相邻数组元素的差值构成的数组
Out[20]: array([ 3.,& 3.])
In [21]: numpy.std(c)& # 计算数组的标准差
Out[21]: 2.1779
In [22]: numpy.where(c & 3)& # 返回满足条件的数组元素的下标组成的数组
Out[22]: (array([1, 2]),)
顶一下(0) 踩一下(0)
热门标签:系统环境是win7(64bit)+python3.4(64bit)+numpy1.82+vs20121.如果用sourceforge上编译好的32bit的exe安装,会提示‘python version ** required,which was not found in the registry’.原因是安装的python是64bit的吧(不确定),但是注册表里确实没有,2.自己手动编译numpy安装,在numpy目录下cmd里‘python setup.py build'会提示'unable to find vcvarsall.bat',原因是python默认使用的是vs2008版本,打开‘&python安装目录&/lib/distutils/msvc9compiler.py’发现默认的搜索目录下的确没有vcvarsall这个文件。如果把vcvarsall移动到这个目录,就会出现第三个问题。一般的解决方法是使用mingw。最好的解决方法直接在msvc9compiler.py文件中找到下面这一行:vc_env = query_vcvarsall(VERSION, plat_spec)修改为:vc_env = query_vcvarsall(11.0, plat_spec)我的是vs2012 对应的version就是11.0具体为什么这样改,参考http://blog.csdn.net/ren911/article/details/6448696但这样更改后会出现第4个问题。3.C:/Python33/lib/distutils/msvc9compiler.py&, line 287, in query_vcvarsallraise ValueError(str(list(result.keys())))ValueError: ['lib', 'include', 'path']这个问题没找到有效的解决方法 可以通过2种改version的方法避开这个问题4.RuntimeError: Broken toolchain: cannot link a simple C program在msvc9compiler.py中,把minfo的赋值语句更改为minfo=None,即可5.因为安装的是64bit-python,看网上大家安装nltk各种问题,官网也不建议使用64bit python,所以查了不少的安装教程,但是出乎意料build和install没出现任何问题。下次自动登录
现在的位置:
& 综合 & 正文
windows下python安装Numpy和Scipy模块
下载和你Python版本相应对的exe文件安装即可。
Windows下也可以像Linux下一样自己动手编译,不过还没有尝试过。
帮助文档:
Linux下编译:
Windows下编译:
----------------------------------------------------------------------------
ubuntu下安装tkinter
2.x版本:sudo apt-get isntall python-tk
3.x版本:sudo apt-get isntall python3-tk 安装完成后如果不可用,可以sudo update-python-modules -a 更新一下
ATTENTION:2.x下import Tkinter 3.x下import tkinter 大小写
----------------------------------------------------------------------------
&&&&推荐文章:
【上篇】【下篇】这篇文章主要介绍了Python中的Numpy入门教程,着重讲解了矩阵中的数组操作,需要的朋友可以参考下1、Numpy是什么很简单,Numpy是Python的一个科学计算的库,提供了矩阵运算的功能,其一般与Scipy、matplotlib一起使用。其实,list已经提供了类似于矩阵的表示形式,不过numpy为我们提供了更多的函数。如果接触过matlab、scilab,那么numpy很好入手。在以下的代码示例中,总是先导入了numpy:代码如下:&&&importnumpyasnp&&&printnp.version.version1.6.22、多维数组多维数组的类型是:numpy.ndarray。使用numpy.array方法以list或tuple变量为参数产生一维数组:代码如下:&&&printnp.array([1,2,3,4])[1234]&&&printnp.array((1.2,2,3,4))[1.22.3.4.]&&&printtype(np.array((1.2,2,3,4)))&type'numpy.ndarray'&以list或tuple变量为元素产生二维数组:代码如下:&&&printnp.array([[1,2],[3,4]])[[12][34]]生成数组的时候,可以指定数据类型,例如numpy.int32,numpy.int16,andnumpy.float64等:代码如下:&&&printnp.array((1.2,2,3,4),dtype=np.int32)[1234]使用numpy.arange方法代码如下:&&&printnp.arange(15)[]&&&printtype(np.arange(15))&type'numpy.ndarray'&&&&printnp.arange(15).reshape(3,5)[[01234][56789][]]&&&printtype(np.arange(15).reshape(3,5))&type'numpy.ndarray'&使用numpy.linspace方法例如,在从1到3中产生9个数:代码如下:&&&printnp.linspace(1,3,9)[1.1.251.51.752.2.252.52.753.]使用numpy.zeros,numpy.ones,numpy.eye等方法可以构造特定的矩阵例如:代码如下:&&&printnp.zeros((3,4))[[0.0.0.0.][0.0.0.0.][0.0.0.0.]]&&&printnp.ones((3,4))[[1.1.1.1.][1.1.1.1.][1.1.1.1.]]&&&printnp.eye(3)[[1.0.0.][0.1.0.][0.0.1.]]创建一个三维数组:代码如下:&&&printnp.zeros((2,2,2))[[[0.0.][0.0.]][[0.0.][0.0.]]]获取数组的属性:代码如下:&&&a=np.zeros((2,2,2))&&&printa.ndim#数组的维数3&&&printa.shape#数组每一维的大小(2,2,2)&&&printa.size#数组的元素数8&&&printa.dtype#元素类型float64&&&printa.itemsize#每个元素所占的字节数8数组索引,切片,赋值示例:代码如下:&&&a=np.array([[2,3,4],[5,6,7]])&&&printa[[234][567]]&&&printa[1,2]7&&&printa[1,:][567]&&&printa[1,1:2][6]&&&a[1,:]=[8,9,10]&&&printa[[234][8910]]使用for操作元素代码如下:&&&forxinnp.linspace(1,3,3):...printx...1.02.03.0基本的数组运算先构造数组a、b:代码如下:&&&a=np.ones((2,2))&&&b=np.eye(2)&&&printa[[1.1.][1.1.]]&&&printb[[1.0.][0.1.]]数组的加减乘除:代码如下:&&&printa&2[[FalseFalse][FalseFalse]]&&&printa+b[[2.1.][1.2.]]&&&printa-b[[0.1.][1.0.]]&&&printb*2[[2.0.][0.2.]]&&&print(a*2)*(b*2)[[4.0.][0.4.]]&&&printb/(a*2)[[0.50.][0.0.5]]&&&print(a*2)**4[[16.16.][16.16.]]使用数组对象自带的方法:代码如下:&&&a.sum()4.0&&&a.sum(axis=0)#计算每一列(二维数组中类似于矩阵的列)的和array([2.,2.])&&&a.min()1.0&&&a.max()1.0使用numpy下的方法:代码如下:&&&np.sin(a)array([[0..],[0..]])&&&np.max(a)1.0&&&np.floor(a)array([[1.,1.],[1.,1.]])&&&np.exp(a)array([[2..],[2..]])&&&np.dot(a,a)##矩阵乘法array([[2.,2.],[2.,2.]])合并数组使用numpy下的vstack和hstack函数:代码如下:&&&a=np.ones((2,2))&&&b=np.eye(2)&&&printnp.vstack((a,b))[[1.1.][1.1.][1.0.][0.1.]]&&&printnp.hstack((a,b))[[1.1.1.0.][1.1.0.1.]]看一下这两个函数有没有涉及到浅拷贝这种问题:代码如下:&&&c=np.hstack((a,b))&&&printc[[1.1.1.0.][1.1.0.1.]]&&&a[1,1]=5&&&b[1,1]=5&&&printc[[1.1.1.0.][1.1.0.1.]]可以看到,a、b中元素的改变并未影响c。深拷贝数组数组对象自带了浅拷贝和深拷贝的方法,但是一般用深拷贝多一些:代码如下:&&&a=np.ones((2,2))&&&b=a&&&bisaTrue&&&c=a.copy()#深拷贝&&&cisaFalse基本的矩阵运算转置:代码如下:&&&a=np.array([[1,0],[2,3]])&&&printa[[10][23]]&&&printa.transpose()[[12][03]]迹:代码如下:&&&printnp.trace(a)4numpy.linalg模块中有很多关于矩阵运算的方法:代码如下:&&&importnumpy.linalgasnplg特征值、特征向量:代码如下:&&&printnplg.eig(a)(array([3.,1.]),array([[0.,0.],[1.,-0.]]))3、矩阵numpy也可以构造矩阵对象,这里不做讨论。
更多信息请查看
更多信息请查看
易贤网手机网站地址:
【】&&&&&【点此处查询各地各类考试咨询QQ号码及交流群】
由于各方面情况的不断调整与变化,易贤网所提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!
云南各地招聘
&nbsp&nbsp&nbsp &nbsp&nbsp&nbsp会员注册
本站不参与评论,(&&点此深度交流 )
自觉遵守:爱国、守法、自律、真实、文明的原则
尊重网上道德,遵守中华人民共和国各项有关法律法规
严禁发表危害国家安全,破坏民族团结、国家宗教政策和社会稳定,含侮辱、诽谤、教唆、淫秽等内容的评论
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
您在本站发表的评论,本站有权保留、转载、引用或者删除
参与本评论即表明您已经阅读并接受上述条款python下numpy不成功,请问有没有简单的安装方法_百度知道
python下numpy不成功,请问有没有简单的安装方法
帮你找一个,下载好exe直接双击的;提问者用的是哪个版本的就是直接安装的
来自团队:
其他类似问题
为您推荐:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁}

我要回帖

更多关于 python numpy array 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信