python的三大库之numpy

阅读: 评论:0

python的三大库之numpy

python的三大库之numpy

1.导入默认为 import numpy as np

创建矩阵

使用np.array()括号内是矩阵的相关信息

最简单的例子:

ay=np.array([[1,2,3],[4,5,6]])

这是一个二维的矩阵,相当于c语言里的二维数组,一般来说,要从外往里数一下方括号的数量,比如从左数的话数的就是左方括号的数量,从第一个开始,到第一个挨着数字的左方括号结束,有几个就是几维,在numpy的文档里,你数了几个左方括号就代表几个轴,比如数了俩,就是x和y轴,再多一个 就是xyz三个轴,再多的话我也不知道是啥轴,只需要知道维度上升了即可。

与array配套的几个查看array的属性的函数

array.ndim// n代表一个数字,dim是dimension(维度)的缩写,返回int 代表维度
array.shape//返回一对数,代表几*几的矩阵
array.size//计算矩阵一共有几个元素,返回int

进阶操作:

1.设置内容类型,在【】之后加'.dtype',d是data的缩写,dtype=数据类型

主要有 int32,int64,float32,float64

array=np.array([1,2,3],dtpe=np.int32)
array=np.array([1,2,3],dtpe=np.int64)
array=np.array([1,2,3],dtpe=np.float32)
array=np.array([1,2,3],dtpe=np.float64)

2.创建特色矩阵

3创建有序矩阵

np.arange(起点,终点,步长)
np.arange(起点,终点,步长).reshape((行数,列数))//代表创建完矩阵之后我要重新规划一下他的形状

4.生成线段

 

np.linspace(起点,终点,段数)//从起点到终点,要生成几个线段。
np.linspace(起点,终点,段数)。reshape((行数,列数))

矩阵的基础运算

1.四则运算

//加法
a=np.array([1,2,3,4])
b=np.range(4)//内容为从0-3的一维矩阵c=a+b
print(c)//依然是得到矩阵,只不过是a的每一个数加去b中的每一个数//减法
a=np.array([1,2,3,4])
b=np.range(4)//内容为从0-3的一维矩阵c=a-b
print(c)//依然是得到矩阵,只不过是a的每一个数减去b中的每一个数//乘法
a=np.array([1,2,3,4])
b=np.range(4)//内容为从0-3的一维矩阵c=a*b
print(c)//依然是得到矩阵,只不过是a的每一个数*去b中的每一个数//取整除法
a=np.array([1,2,3,4])
b=np.range(4)//内容为从0-3的一维矩阵c=a/b
print(c)//依然是得到矩阵,只不过是a的每一个数/去b中的每一个数取整

2.特色运算

//比较大小,返回布尔类型
a=np.array([1,2,3,4])
b=np.array([5,6,7,8])
c=a<b
print(c)
//结果为
[ True  True  True  True]//多维矩阵适用的乘法
a=np.array([1,2,3,4])
b=np.array([5,6,7,8])
c=np.dot(a,b) or c=a.dot(b)
//线性代数上用的矩阵的乘法,结果为 70//平方
a=3;
a**2==9//几次方用**n表示// 三角函数a=np.array([1,2,3,4])
b=np.array([5,6,7,8])c=np.sin(a)//对a中每一个数求sin 也可以用其他的三角函数print(c)//求矩阵的和,最大值,最小值 
a=np.random.random((2,2))//用随机数生成一个2行2列的矩阵
print(a)[[0.34700893 0.85088823][0.95787822 0.248027  ]]//axis 代表轴,0为y轴,1为x轴
//第一个为沿着y轴求和,第三个为沿着y轴求最大值, 第五个为沿着y轴求最小值
print(np.sum(a,axis=0))  //[1.30488715 1.09891523]
print(np.sum(a,axis=1)) //[1.19789715 1.20590522]
print(np.max(a,axis=0))//[0.95787822 0.85088823]
print(np.max(a,axis=1))//[0.85088823 0.95787822]
print(np.min(a,axis=0))//[0.34700893 0.248027  ]
print(np.min(a,axis=1))//[0.34700893 0.248027  ]

3.求某个特色值的索引

a=np.arange(2,14).reshape((3,4))
[[ 2  3  4  5][ 6  7  8  9][10 11 12 13]]
//求最大最小值的索引
print(np.argmax(a)) //11 注意是索引 不是第几个数!!!!!
print(np.argmin(a))//0//求平均值
an())//注意带括号 答案为 7.5
print(np.average(a))//答案为 7.5//求中位数
dian(a)) //7.5//累加并且保存:累加一次保存一次
print(np.cumsum(a))//[ 2  5  9 14 20 27 35 44 54 65 77 90]//累差并保存:累差是相邻两个数做差,连着减有点不合理print(np.diff(a))//[[1 1 1][1 1 1][1 1 1]]  维度和原矩阵一致//排序 
printf(np.sort(a))//因为原来就是有序的,所以和原来的矩阵一样//矩阵的转置
np.transpose(a)//原来的a是
[[ 2  3  4  5][ 6  7  8  9][10 11 12 13]]//转置之后是
[[ 2  6 10][ 3  7 11][ 4  8 12][ 5  9 13]]//矩阵的修剪
print(np.clip(a,5,9)) //让小于5的数都等于5,大于9的数都等于9,这样就能保留5-9之间的数了
[[5 5 5 5][6 7 8 9][9 9 9 9]]

本文发布于:2024-02-01 22:18:19,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170679709839790.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:三大   python   numpy
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23