在本科阶段,我们常用的科学计算工具是MATLAB。下面介绍python的一个非常好用而且功能强大的科学计算库——Numpy。

  • a powerful N-dimensional array object(一个强大的N维数组对象)
  • sophisticated (broadcasting) functions (先进的(广播?)函数)
  • tools for integrating C/C++ and Fortran code(集成的C / C++和Fortran代码工具)
  • useful linear algebra, Fourier transform, and random number capabilities(有用的线性代数,傅立叶变换和随机数能力)

    以上是官方文档的介绍,具体资料可以按参考这个网站: http://www.numpy.org/

    依旧是pip install numpy安装这个包。我们在ipython中举一些例子来学习它的一些常用操作。当然在此之前,建议先了解一下矩阵等相关的数学知识,就当温习一下大学的线代高数部分了。

 #导入numpy
>>> import numpy as np
#生成一个指定内容的数组
>>> a = np.arange(15).reshape(3, 5)
>>> a
array([[ 0, 1, 2, 3, 4],
[ 5, 6, 7, 8, 9],
[10, 11, 12, 13, 14]])
>>> a.shape #数组行列数
(3, 5)
>>> a.ndim #数组维度
2
>>> a.dtype.name #数组中元素类型
'int64'
>>> a.itemsize #数组中每个元素的字节大小
8
>>> a.size #数组元素的总数
15
>>> type(a) #输出a的属性
<type 'numpy.ndarray'>
#直接给定元素生成数组
>>> b = np.array([6, 7, 8])
>>> b
array([6, 7, 8])
>>> type(b)
<type 'numpy.ndarray'>

    numpy可以生成指定的数组。

 C:\Users\Administrator\Desktop
λ ipython
Python 3.6.4 (v3.6.4:d48eceb, Dec 19 2017, 06:54:40) [MSC v.1900 64 bit (AMD64)]
Type 'copyright', 'credits' or 'license' for more information
IPython 6.2.1 -- An enhanced Interactive Python. Type '?' for help. In [1]: import numpy as np In [2]: a=np.zeros([3,4]) #生成全零阵 In [3]: a
Out[3]:
array([[0., 0., 0., 0.],
[0., 0., 0., 0.],
[0., 0., 0., 0.]]) In [4]: b=np.ones([3,4]) #生成全1阵 In [5]: b
Out[5]:
array([[1., 1., 1., 1.],
[1., 1., 1., 1.],
[1., 1., 1., 1.]]) In [6]: c=np.random.rand(3,4) #生成随机阵 In [7]: c
Out[7]:
array([[0.36417168, 0.24336724, 0.78826727, 0.42894367],
[0.77198615, 0.95897315, 0.25628233, 0.53995372],
[0.02777746, 0.25093856, 0.14544893, 0.10475779]]) In [8]: d=np.eye(3) #生成单位阵 In [9]: d
Out[9]:
array([[1., 0., 0.],
[0., 1., 0.],
[0., 0., 1.]]) In [10]: e=np.mat([[1,2,3],[4,5,6],[7,8,9]]) #矩阵化 In [11]: e
Out[11]:
matrix([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]) In [12]: f=np.power(e,2) #计算N次幂 In [13]: f
Out[13]:
matrix([[ 1, 4, 9],
[16, 25, 36],
[49, 64, 81]], dtype=int32) In [14]: g=f.T #求转置矩阵 In [15]: g
Out[15]:
matrix([[ 1, 16, 49],
[ 4, 25, 64],
[ 9, 36, 81]], dtype=int32) In [16]:

    下面对array()和mat()做一个区分。初学者很容易混淆。

    np.array(a)  是将列表数组化, 它与另一个narray的乘法并不是按照矩阵乘法进行的,而是对应元素相乘 。而mat(),在上面的例子可以清楚地看出来,他生成的对象是一个matrix。即将数组矩阵化。对矩阵使用shape()方法,会返回矩阵的维度,而数组则会返回它的行和列。详细资料可以参考官方文档。

python数据分析工具包(1)——Numpy(一)的更多相关文章

  1. python数据分析三剑客之: Numpy

    数据分析三剑客之: Numpy 一丶Numpy的使用 ​ numpy 是Python语言的一个扩展程序库,支持大维度的数组和矩阵运算.也支持针对数组运算提供大量的数学函数库 创建ndarray # 1 ...

  2. python数据分析工具包(2)——Numpy(二)

    上一篇文章简单地介绍了numpy的一些基本数据类型,以及生成数组和矩阵的操作.下面我们来看一下矩阵的基本运算.在线性代数中,常见的矩阵运算包括,计算行列式.求逆矩阵.矩阵的秩等.下面我们来一一实现. ...

  3. python数据分析工具包(3)——matplotlib(一)

    前两篇文章简单介绍了科学计算Numpy的一些常用方法,还有一些其他内容,会在后面的实例中学习.下面介绍另一个模块--Matplotlib. Matplotlib是一个Python 2D绘图库,试图让复 ...

  4. python 数据分析工具之 numpy pandas matplotlib

    作为一个网络技术人员,机器学习是一种很有必要学习的技术,在这个数据爆炸的时代更是如此. python做数据分析,最常用以下几个库 numpy pandas matplotlib 一.Numpy库 为了 ...

  5. Python的工具包[0] -> numpy科学计算 -> numpy 库及使用总结

    NumPy 目录 关于 numpy numpy 库 numpy 基本操作 numpy 复制操作 numpy 计算 numpy 常用函数 1 关于numpy / About numpy NumPy系统是 ...

  6. Python数据分析工具库-Numpy 数组支持库(一)

    1 Numpy数组 在Python中有类似数组功能的数据结构,比如list,但在数据量大时,list的运行速度便不尽如意,Numpy(Numerical Python)提供了真正的数组功能,以及对数据 ...

  7. $python数据分析基础——初识numpy库

    numpy库是python的一个著名的科学计算库,本文是一个quickstart. 引入:计算BMI BMI = 体重(kg)/身高(m)^2 假如有如下几组体重和身高数据,让求每组数据的BMI值: ...

  8. Python数据分析工具库-Numpy 数组支持库(二)

    1 shape变化及转置 >>> a = np.floor(10*np.random.random((3,4))) >>> a array([[ 2., 8., 0 ...

  9. 【Python 数据分析】module 'numpy' has no attribute 'array'

    安装好Numpy模块后,开始做了几个小测试都可以运行,但是当我创建numpy.py这个文件后 numpy.py import numpy y = numpy.array([[11,4,2],[2,6, ...

随机推荐

  1. Spark算子--coalesce和repartition

    coalesce和repartition--Transformation类算子 代码示例

  2. tp系统常量定义

    (2013-03-06 14:16:31) 转载▼ 标签: it 是已经封装好的系统常量 主要是用在控制器下面的动作当中 这样能很大的提高我们的开发效率 主要有下面的一些      手册上面都有的   ...

  3. 在js中怎样获得checkbox里选中的多个值?

    https://zhidao.baidu.com/question/203897221.html 思路:利用name属性值获取checkbox对象,然后循环判断checked属性(true表示被选中, ...

  4. async函数解析

    转载请注明出处:async函数解析 async函数是基于Generator函数实现的,也就是说是Generator函数的语法糖.在之前的文章有介绍过Generator函数语法和异步应用,如果对其不了解 ...

  5. asp.net -mvc框架复习(4)-ASP.NET MVC中的约定规则

    1.路由规则 using System;using System.Collections.Generic;using System.Linq;using System.Web;using System ...

  6. Schema与数据类型优化

    良好的逻辑设计和物理设计是高性能的基石,应该根据系统将要执行的查询数据来设计schema,这往往需要权衡各种因素. MySQL支持的数据类型非常多,选择正确的数据类型对于获得高性能至关重要. 更小的通 ...

  7. HTTP常用方法

    GET : 获取资源 get方法用来请求访问已被URI识别的资源. 请求 GET /index.html HTTP/1.1 HOST:www.baidu.com 响应 返回index.html的页面资 ...

  8. Redis-配置认证密码

    1.找到redis.conf,配置密码 2.要重新启动一下redis 3.用redis-cli重新登陆,我们查询的时候提示"Authentication required"查询失败 ...

  9. Go_Hello word

    与Go相关直接命令有哪些? go get    获取远程包 go run    直接运行程序 go bulid  测试编译 go fmt    格式化代码 go install       编译包文件 ...

  10. Servlet--SingleThreadModel接口,RequestDispatcher接口

    SingleThreadModel接口 定义 public interface SingleThreadModel; 这是一个空接口,它指定了系统如何处理对同一个 Servlet 的调用.如果一个 S ...