1、导入基本函数库

import numpy as np

2、获取矩阵元素字节数

  1. a=np.array([1,2,3],dtype=np.float32)
  2. a.itemsize
    output: 4

3、获取数组维数A.shape

例如

  1. a=np.array([[1,2,3],[4,5,6]]);
  2.  
  3. a.shape
  4.  
  5. output:(2,3)

4、选取某一行或某一列元素,

注意numpy中数组起始坐标是0开始的,跟matlab中有区别。matlab中是从1开始的。

python中列表[start,end,step],有开始数、终止数、步长;而matlab中是[start:step:end]。

a[:,0],选取第一列

a[0,:],选取第一行

5、numpy中数组赋值时,如果没有超过原始数组维数时,只将引用赋值,而不是复制赋值。

如果想要进行复制,需要使用函数B=A.copy(),与matlab有区别例如:

  1. import numpy as np
  2. b=np.ones((3,3))
  3. c=b;
  4. print 'b\n',b
  5. print 'c:\n',c
  6. c[0,0]=12;
  7. print 'b\n',b
  8. print 'c:\n',c
  9.  
  10. b
  11. [[ 1. 1. 1.]
  12. [ 1. 1. 1.]
  13. [ 1. 1. 1.]]
  14. c:
  15. [[ 1. 1. 1.]
  16. [ 1. 1. 1.]
  17. [ 1. 1. 1.]]
  18. b
  19. [[ 12. 1. 1.]
  20. [ 1. 1. 1.]
  21. [ 1. 1. 1.]]
  22. c:
  23. [[ 12. 1. 1.]
  24. [ 1. 1. 1.]
  25. [ 1. 1. 1.]]

6、 2维矩阵matrix,python中matrix只能是二维的。

简单应用,矩阵乘

  1. a=np.matrix([[1,2,3],[4,5,6],[7,8,9]]);
  2. b=np.matrix([[1],[0],[0]]);
  3. a*b
  4. matrix([[1],
  5. [4],
  6. [7]])

也可以使用数组点积表示:

  1. A=np.array([[1,2,3],[4,5,6],[7,8,9]])
  2. x=np.array([[1],[0],[0]])
  3. A.dot(x)
  4. array([[1],
  5. [4],
  6. [7]])

7、当需要将数组转换成矩阵时,要使用np.matrix(A)

例如

  1. a=np.ones((3,3));
  2.  
  3. b=np.ones((3,1));
  4.  
  5. np.matrix(a)*b
  6.  
  7. matrix([[ 3.],
  8. [ 3.],
  9. [ 3.]])

8、深度复制,对于列表、元组、字典想要复制,需要使用copy模块里deepcopy函数

例如:

  1. import copy as cp
  2. a=[[,,],[,,]];
  3. b=cp.deepcopy(a);
  4. a[][]=;
  5. print a
  6. print b

9、array是元素与元素之间的运算

matrices是服从线性代数运算法则

通过dot来更改运算方式

  1. x=np.ones((,));
  2. y=np.ones((,));
  3. print np.dot(x,y)
  4.  
  5. [[ . .]
  6. [ . .]]

array数据类型转换成matrix类型,需要使用Z=asmatrix(A)或Z=mat(A)

  1. a=array([,,]);
  2. a*a

a=np.array([1,2,3]);
a*a

  1. array([1, 4, 9])

10、type、dtype、shape用法

type用来说明数据类型type(A)

dtype是用来指示array数据类型A.dtype

shape用来说明array的大小,A.shape

python科学计算基础知识的更多相关文章

  1. Python科学计算基础包-Numpy

    一.Numpy概念 Numpy(Numerical Python的简称)是Python科学计算的基础包.它提供了以下功能: 快速高效的多维数组对象ndarray. 用于对数组执行元素级计算以及直接对数 ...

  2. python 科学计算基础库安装

    1.numpyNumPy(Numeric Python)是用Python进行科学计算的基本软件包. NumPy是Python编程语言的扩展,增加了对大型多维数组和矩阵的支持,以及一个大型的高级数学函数 ...

  3. Python进阶----计算机基础知识(操作系统多道技术),进程概念, 并发概念,并行概念,多进程实现

    Python进阶----计算机基础知识(操作系统多道技术),进程概念, 并发概念,并行概念,多进程实现 一丶进程基础知识 什么是程序: ​   程序就是一堆文件 什么是进程: ​   进程就是一个正在 ...

  4. Python科学计算之Pandas

    Reference: http://mp.weixin.qq.com/s?src=3&timestamp=1474979163&ver=1&signature=wnZn1UtW ...

  5. Python科学计算PDF

    Python科学计算(高清版)PDF 百度网盘 链接:https://pan.baidu.com/s/1VYs9BamMhCnu4rfN6TG5bg 提取码:2zzk 复制这段内容后打开百度网盘手机A ...

  6. python 科学计算及数据可视化

    第一步:利用python,画散点图. 第二步:需要用到的库有numpy,matplotlib的子库matplotlib.pyplot numpy(Numerical Python extensions ...

  7. windows下安装python科学计算环境,numpy scipy scikit ,matplotlib等

    安装matplotlib: pip install matplotlib 背景: 目的:要用Python下的DBSCAN聚类算法. scikit-learn 是一个基于SciPy和Numpy的开源机器 ...

  8. Python科学计算(二)windows下开发环境搭建(当用pip安装出现Unable to find vcvarsall.bat)

    用于科学计算Python语言真的是amazing! 方法一:直接安装集成好的软件 刚开始使用numpy.scipy这些模块的时候,图个方便直接使用了一个叫做Enthought的软件.Enthought ...

  9. 目前比较流行的Python科学计算发行版

    经常有身边的学友问到用什么Python发行版比较好? 其实目前比较流行的Python科学计算发行版,主要有这么几个: Python(x,y) GUI基于PyQt,曾经是功能最全也是最强大的,而且是Wi ...

随机推荐

  1. sass与less

    刚刚发现sass这个东西,前端真热闹,下面比较一下这两者的共同点与区别. 开头总结一下,方便记忆:sass依赖后端计算能力,less依赖客户端的计算能力. 很多开发者不选择LESS是因为LESS输出修 ...

  2. RS交叉表自动汇总后百分比列显示错误之解决方案

    可以说在从事Cognos开发的过程中,仅仅对数据展现而言,大多数用户使用最多的工具便是Report Studio了,此工具可以帮助我们快速的构建一些可供用户自主选择的数据报告.当然我个人认为没有什么开 ...

  3. mysql时间操作函数和存储过程

    因为业务须要统计一批数据.用到关于mysql的时间操作函数和存储过程,问题已经基本解决.把过程记录下: 1. mysql的语句中不支持直接用循环.循环仅仅能在存储过程中使用. 2. 写为文件时,注意一 ...

  4. freemarker 模板开发入门

    数据模型 scalars标量:从根 root 開始指定它的路径,每级之间用点来分隔. 如:whatnot.fruits sequences 序列:使用数组的方括号方式来訪问一个序列的子变量. 如:an ...

  5. 安装apache+php记录

    安装apache yum install httpd 修改apache配置文件,可以修改apache的默认端口号,根目录等 /etc/httpd/conf/httpd.conf 启动/重启apache ...

  6. 【转载】oracle更新语法

    oracle更新语法:1.一般语法   update tab set col = .... [where ...]   =后可以有子查询,但是必须对于tab的每一列返回唯一一行与之对应,where是需 ...

  7. Linux内核二层数据包接收流程

    本文主要讲解了Linux内核二层数据包接收流程,使用的内核的版本是2.6.32.27 为了方便理解,本文采用整体流程图加伪代码的方式从内核高层面上梳理了二层数据包接收的流程,希望可以对大家有所帮助.阅 ...

  8. javascript:void(0) 真正含义

    大家常见这种代码: <a href="javascript:doTest2();void(0);">here</a> 但这儿的void(0)到底是何含义呢? ...

  9. 优化iOS程序性能的25个方法

    1. 用ARC管理内存 ARC(Automatic ReferenceCounting, 自己主动引用计数)和iOS5一起公布.它避免了最常见的也就是常常是因为我们忘记释放内存所造成的内存泄露.它自己 ...

  10. 《微赢微信公众平台系统5月14最新破解高级运营版+水果机+邀请函+微汽车+微食品+用户CRM》

    <微赢微信公众平台系统5月14最新破解高级运营版+水果机+邀请函+微汽车+微食品+用户CRM> 此版本号眼下是淘宝卖600RMB的,其他VIP源代码论坛也都还没有公布.咱们这里全然免费分享 ...