基本运算

x**2 : x^2 若x是mat矩阵,那就表示x内每个元素求平方

inf:表示正无穷

逻辑运算符:and,or,not

基本函数

字典的get方法

a.get(k,d)11

get相当于一条if…else…语句。若k在字典a中,则返回a[k];若k不在a中,则返回参数d。

l = {5:2,3:4}

l.get(3,0) 返回值是4;

l.get(1,0) 返回值是0;1

2

31

2

3

type函数:返回数据类型

type(x):返回x的类型

type(x)._name_:返回该类型的字符串表示1

21

2

len函数:获得list或str的长度

reload函数:将之前导入过的模块重新加载进来

对复数的处理

complex(a,b) #建立a+bj的复数

complex('2+1j') #将字符串形式的复数转成复数

real(x) #取复数x的实部

imag(x) #取复数x的虚部

abs(x) #求x的模1

2

3

4

51

2

3

4

5

next函数

本函数是返回迭代器的下一个元素的值。

在Python 3中,只能使用next()函数(试图调用.next()方法会触发AttributeError)。

my_generator = (letter for letter in 'abcdefg')

next(my_generator)

>>>'a'1

2

3

41

2

3

4

math模块

Python内置math模块,提供大部分常用数学运算函数。

使用 math 模块

math 模块是标准库中的,所以不用安装,可以直接使用。使用方法是:

>>> import math11

常用函数

ceil(x) 取顶

floor(x) 取底

fabs(x) 取绝对值

factorial (x) 阶乘

hypot(x,y) 计算sqrt(x*x+y*y)

pow(x,y) x的y次方

sqrt(x) 开平方

log(x)

log10(x)

trunc(x) 截断取整数部分

isnan (x) 判断是否NaN(not a number)

degrees (x) 弧度转角度

radians(x) 角度转弧度

sin(x)

cos(x)

tan(x)

asin(x)

acos(x)

atan(x)

#例子:

a=math.atan(x) #计算x的反正切值

seta=math.degrees(a) #将弧度制表示的a转换成角度制表示的seta1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

231

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

Numpy模块

模块的导入

from numpy import array/mat/shape/*

mm=array([1,2,3]) //

ss=mat([1,2,3])1

2

3

41

2

3

4

Numpy中,mat必须是2维的,但是array可以是多维的(1D,2D,3D····ND). Matrix是Array的一个小的分支,包含于Array。所以matrix 拥有array的所有特性。

在numpy中matrix的主要优势是:相对简单的乘法运算符号。例如,a和b是两个matrices,那么a*b,就是矩阵积。

若a=mat([1,2,3]) 是矩阵,则 a.A 则转换成了数组,反之,a.M则转换成了矩阵

数组array

数组array的参数是列表,有

a=array([1,2,3])

b=array([[1,2,3],[4,5,6]])1

21

2

它有以下一些属性:

a.ndim #秩,是数组轴的个数

a.shape #数组的维度

a.size #元素的总个数

a.dtype #一个用来描述数组中元素类型的对象

a.dtype.name #返回字符串形式的类型名1

2

3

4

51

2

3

4

5

常用的Numpy运算

取矩阵中的某一行 ss[1,:] 或该行的某两列 ss[1,0:2]

将数组转换成矩阵 randMat=mat(random.rand(4,4))

矩阵求逆 randMat.I

单位阵 eye(4)

零矩阵 zeros((x,y)) 建立x行y列的零矩阵

最大值和最小值 a.max(),a.min() ,而a.max(0) 表示按列选取每列的最大值

最大/小元素的下标 a.argmax(),a.argmin()

#作为方法

x.sum() #所有元素相加

x.sum(axis=0) #按列相加

x.sum(axis=1) #按行相加

#作为函数

sum(a,axis=0)

ss.mean()

mean(a,axis=0(或1)) #按列或行求均值

var(a)

var(a,axis=0(或1)) #按列或行求方差

std(a)

std(a,axis=0(或1)) #按列或行求标准差

ss.T或ss.transpose() #转置1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

181

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

shape的用法

shape作为函数,可以读取矩阵的长度,它的输入参数可以是一个矩阵。例如:

shape(3):一个单独的数字,返回值为空

shape([1]):一维矩阵[1]返回值为(1L,)

shape([[1],[2]]) :二维矩阵[[1],[2]],返回两个值1

2

31

2

3

shape还可以作为矩阵的方法被调用,如

e=eye(3)

e.shape

>>(3L,3L)

e.shape[0]//读取第一维度的长度

>>3L1

2

3

4

51

2

3

4

5

tile函数:重复某个数组

a=[0,1,2]

b=tile(a,2)

>>>b=([0,1,2,0,1,2])

b=tile(a,(2,1))

>>>b=([[0,1,2],

[0,1,2]])

b=tile(a,(1,2))

>>>b=([[0,1,2],[0,1,2]])1

2

3

4

5

6

7

81

2

3

4

5

6

7

8

range函数:构造等差数列

range(1,5):代表从1到5,不包含5:[1,2,3,4]

range(1,5,2):代表从1到5,间隔为2,不包含5:[1,3]

range(5):代表从0到5,不包含5:[0,1,2,3,4]1

2

31

2

3

sort,sorted,argsort函数:排序

x.sort():

只可以应用于list对象,且是原地排序,排序过后list发生改变。

x.argsort():

得到矩阵每行的升序排序

sorted函数

排序并生成新的容器

一. 如果是普通的列表,可以直接使用sorted,如

a=[1,4,2,3,7]

b=sorted(a)1

21

2

二. 如果是由元祖构成的元祖列表,就比较复杂,假设有

L=[('b',2),('a',1),('c',3)]11

有两种写法或格式

cmp格式

sorted(L,cmp=lambda x,y:cmp(x[1],y[1])11

key格式

sorted(L,key=lambda x:x[1])11

其中还有个reverse可选项,reverse=True 则输出倒序,reverse=False 则输出正序。

三. 如果是字典,那么格式也略复杂

假设有dic={'a':31,'bc':52,'c':3,'33':56}

在python 3中,可以写成

sorted(dic.items(),key=lambda d:d[1],reserve=False)11

其中,dic.items 返回字典键值对的元祖集合set

还可以写成

sorted(dic.items(),key=operator.itemgetter(1),reserve=False)11

其中,operator.itemgetter() 函数可以获取对象的某些维的数据

array的形状操作

a.ravel() #展平成一维数组,a.flatten() 与之类似

a.reshape(m,n) #返回一个新数组,但原数组本身不变

a.resize(m,n) #返回一个新数组的同时也改变原数组本身1

2

31

2

3

其他通用函数或方法

a.copy() #对元素进行复制

c=sqrt(a) #计算元素的平方根

c=exp(a)

c=abs(a)

c=add(a,b) #a和b对应元素相加

c=subtract(a,b) #a和b对应元素相减

c=multiply(a,b) #a和b对应元素相乘

c=divide(a,b) #a和b对应元素相除

nonzero(a) #返回a中所有不为零的元素的下标位置1

2

3

4

5

6

7

8

91

2

3

4

5

6

7

8

9

对array和matrix而言,(a>3)或(a==3) 返回一个同类型的布尔值

例如:

a=array([1,2,3])

b=(a==2)

>>>b=array([False,True,False])1

2

3

41

2

3

4

Numpy中的线性代数子库linalg

linalg中包含了许多线性代数的方法

linalg.det(a) #求a的行列式

linalg.inv(a) #求a的逆矩阵1

21

2

python复数计算符号_Python:基本运算、基本函数(包括复数)、Math模块、NumPy模块...相关推荐

  1. python科学计算三剑客_Python数据分析 三剑客篇(一)NumPy

    Python数据分析(一)Numpy NumPy,Pandas和 Matplotlib "工欲善其事,必先利其器." Numpy ,pandas 和 Matplotlib 被称为P ...

  2. python的计算符号说明_python中的计算符号

    1.算数计算符号:+ - * / //(取整) %(取余) **(次方) 1 >>> 6+8 2 14 3 >>> 9-3 4 6 5 >>> 3 ...

  3. python取整符号_python 取整

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! (1)向下取整向下取整很简单,直接使用int()函数即可,如下代码(python ...

  4. python怎么计算圆_python计算圆心

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 导语:这几天,小编学习到了一个好玩的摄像头图像圆心计算的程序代码. 另外,小编t ...

  5. python怎么计算百分比_python计算两个数的百分比方法

    工作中遇到了要计算两个数百分比的问题,python 2.7 环境. 代码: #!/usr/bin/env python #function: 计算百分比 #USAGE: python calculat ...

  6. python怎么计算积分_python 求定积分和不定积分示例

    求f(x) = sin(x)/x 的不定积分和负无穷到正无穷的定积分 sin(x)/x 的不定积分是信号函数sig ,负无穷到正无穷的定积分为pi import math import numpy a ...

  7. python 分位数计算代码_Python数据分析第十一节 数据运算

    数据运算不仅仅是加减乘除的基本运算,还要包括数据的比较,汇总和相关性的计算等等,这一节我们将计算的问题帮大家汇总出来- 目录 一. 加减乘除运算 二. 比较运算 三. 汇总运算 count 非空值计数 ...

  8. python datetime计算时间差_Python中关于日期的计算总结

    1.获取当前时间的两种方法: 代码如下: 2.获取上个月最后一天的日期(本月的第一天减去1天) 代码如下: 3.获取时间差(时间差单位为秒,常用于计算程序运行的时间) 代码如下: 4.计算当前时间向后 ...

  9. python数学计算函数_Python 内置函数(数学运算类,逻辑判断类)

    abs() 求绝对值 1.参数可以是整型,也可以是复数 2.若参数是复数,则返回复数的模 >>> abs(-10) 10 >>> abs(10) 10 >&g ...

最新文章

  1. 《微软的软件测试之道》(How We Test Software at Microsoft)
  2. java log4j和logback,跨过slf4j和logback,直接晋级log4j 2
  3. 【leetcode】974. Subarray Sums Divisible by K
  4. CMB/宇宙学中相关仪器设备和术语
  5. 【自动驾驶】16.计算机视觉:相机成像原理:世界坐标系、相机坐标系、图像坐标系、像素坐标系之间的转换
  6. Linux Swap空间利用率过高
  7. 计算机科学讨论,第七章计算机科学讨论报告
  8. cp linux 显示进度条_Unix/Linux/Mac os下 文件互传
  9. 三维重建11:点云的全局特征和局部特征
  10. Codeforces Round #112 (Div. 2)---A. Supercentral Point
  11. c++ 结构体遍历_PBRT-E4.3-层次包围体(BVH)(一)
  12. bdc注意清空bdcdata【否则bdc可能…
  13. java 生成不重复随机数_Java如何实现生成n个不重复的随机数 Java实现生成n个不重复的随机数代码...
  14. 未来网闸的发展趋势(实际应用需求,解决方案)
  15. 48.网络安全渗透测试—[穷举篇11]—[webshell密码破解(asp/aspx/php)]
  16. Apache Project LIst 所有项目介绍
  17. Linux命令——finger
  18. 2018 ISC | 最炫酷的展台和最火爆的分论坛
  19. 读书笔记:《企业IT架构转型之道》
  20. 中国房价均价去年每平4600元 房改后涨幅最高

热门文章

  1. 2020年最好用的手机是哪一款_2020年什么手机好用,买手机建议买什么牌子的?...
  2. 相思赋予谁 --知错
  3. iOS 广告SDK总结(一)
  4. 华为颇无奈,徕卡或离它而去而与小米合作
  5. java使用poi在word中生成柱状图、折线图、饼图、柱状图+折线图组合图、动态表格、文本替换、图片替换 springboot项目
  6. 射击场建设实施方案,实弹打靶和模拟影像并存的关系
  7. 向Oracle表中的添加数据
  8. php if多条件,php – 多个IF语句条件
  9. Go关键字--type
  10. WPF全屏和退出全屏最简单的方法