Python中numpy怎么用
发表于:2025-01-29 作者:千家信息网编辑
千家信息网最后更新 2025年01月29日,这篇文章主要为大家展示了"Python中numpy怎么用",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"Python中numpy怎么用"这篇文章吧。1.nu
千家信息网最后更新 2025年01月29日Python中numpy怎么用
这篇文章主要为大家展示了"Python中numpy怎么用",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"Python中numpy怎么用"这篇文章吧。
1.numpy基础操作
#!/usr/bin/env python
#coding:utf-8
import numpy as np
array = np.array([[1,2,3],[4,5,6]])
print(array)
print('维度:',array.ndim) #有几行
print(array.shape) #(2, 3) 有几行,几列
print('size:',array.size) #总数大小
a = np.array([2,3,4], dtype=np.int64) #定义类型 int64
print(a.dtype)
a = np.zeros((3,4)) #定义一個=个三行四列的矩阵,里面的只全部为0
a = np.ones((3,4)) #生成一個三行四列的矩阵,值为1
a = np.empty((3,4)) #生成一個三行四列的矩阵,值为0
a = np.arange(1,10,2) #生成一个从1-9 步长为2的矩阵
a = np.arange(10) #生成一个从0-9 的矩阵
a = np.arange(12).reshape(3,4) #生成一个3行4列的数列
a = np.linspace(1,10,6).reshape(2,3) #生成一个1-10之间2行3列的6段线段
a = np.array([10,20,30,40])
b = np.arange(4) #生成一个0-3之间四位数的矩阵,即0-3四个阵列成的矩阵
print(a,b) #列印兩个矩阵
print(a b) #矩阵相加
print(a-b) #矩阵相減
print(a*b) #矩阵相乘
print(a**b) #矩阵乘方
2. numpy矩阵运算
c = np.sin(a)*10 #对a中每个值取sin, 再乘10, con, tan都是这样的
print(c)
print(b<3) #判断b中每个数据是不是小于3, [ True True True False]
a = np.array([[1,2],[3,4]])
b = np.arange(4).reshape(2,2)
print(a,b)
print(a*b) #矩阵a和矩阵b中的每个值相乘, 相乘之后的数值组成的一个矩阵
print(np.dot(a,b)) #矩阵与矩阵相乘,第一個矩阵的列等于第二个矩阵的行
print(a.dot(b)) #跟上面的结果是一样的
a = np.random.random((2,4)) #在0-1之间随机生成一个2行4列的一个矩阵
print(a)
print(np.sum(a)) #矩阵里数值求和
print('###############################')
print(np.sum(a,axis=1)) #矩阵每行的求和
print(np.sum(a,axis=0)) #矩阵每列的求和
print(np.min(a)) #矩阵最小值
print(np.min(a,axis=1)) #矩阵每行最小值
print(np.min(a,axis=0)) #矩阵每列最小值
print(np.max(a)) #矩阵最大值
print(np.max(a,axis=1)) #矩阵每行最大值
print(np.max(a,axis=0)) #矩阵每列最大值
A = np.arange(1,13).reshape(3,4) #在1-13这12个数中,分成3行4列
print(A)
print(np.argmin(A)) #求矩阵中最小值的索引 0
print(np.argmax(A)) #求矩阵中最大值的索引 11
print(np.mean(A)) #求矩阵中平均值
print(A.mean()) #求矩阵中平均值
print(np.median(A)) #求矩阵中中位數
print(np.cumsum(A)) #矩阵中数值累加,第一個为第一个的值,第二个为前两个值的和,第三个为前三个的和。。。
print(np.diff(A)) #矩阵中数组累差, 后面減前面一个的差
print(np.nonzero(A)) #找出矩阵中非0的数, 结果輸出两个array, 第一个为行,第二个为列
A = np.arange(13,1,-1).reshape(3,4)
print(A)
print(np.sort(A)) #逐行从小到大排序
print(np.transpose(A)) #矩阵行列变换
print(A.T) #矩阵行列变换,上面的简写
print((A.T).dot(A)) #行列变换之后的矩阵再和以前的矩阵相乘
print(np.clip(A,5,10)) #矩阵小于5的等于5, 大于10的等于10, 只保留中间部分
print(np.mean(A,axis=1)) #矩阵中对行计算平均值,axis=0是对列计算平均值
numpy矩阵索引切片
A = np.arange(1,13)
print(A)
print(A[3]) #根据矩阵索引获取值,从0开始的
A = np.arange(1,13).reshape(3,4)
print(A)
print(A[2]) #列印出第二行数据(从0开始数)
print(A[2][3]) #找出矩阵第2行第3列
print(A[2,3]) #找出矩阵第2行第3列
print(A[:,:]) #矩阵所有行所有列
print(A[:,1]) #矩阵第2列所有数
print(A[1,:]) #矩阵第2行所有数
print(A[1,2:]) #矩阵第一行第三个列及其以后的數
for row in A:
print(row) #迭代每一行
for column in A.T: #想迭代列先行列变换,将列变行,再迭代
print(column)
print(A.flatten()) #将三行四列的一个矩阵的值重新放到一个新的矩阵中
for item in A.flat: #A.flat返回一个可迭代类
print(item)
4.矩阵变换
A = np.array([1,1,1])
B = np.array([2,2,2])
C = np.vstack((A,B)) #将兩个序列上下合并成一个矩阵
# C = np.hstack((A,B)) #将兩个序列左右合并,变成一个序列
print(C)
print(A[np.newaxis,:]) #将A加一个维度,从一个序列变成由一行组成的矩阵
print(A[:,np.newaxis]) #将A加一个维度,从一个序列变成由一列组成的矩阵
A = A[np.newaxis,:] #将A, B 分別加一个维度
B = B[np.newaxis,:]
print('A,B:',A,B)
C = np.vstack((A,B)) #将两个矩阵上下合并
C = np.hstack((A,B)) #将两个矩阵左右合并,这里将A、B合并成一个序列
print(C)
C = np.concatenate((A,B,B,A),axis=0) #可以几行多个矩阵合并,可以指定合并维度,axis=1指每个矩阵按行左右合并,0是每个矩阵按列上下合并
print(C)
A = np.arange(12).reshape((3,4))
print(A)
print(np.split(A,2,axis=1)) #将A进行分割,分成兩个array,按行等量分割,
print(np.array_split(A,3,axis=1)) #将A进行分割,按行分成三个array,可以进行不等量分割
print(np.vsplit(A,3)) #将A横向平均分割成3快
print(np.hsplit(A,2)) #将A纵向平均分割成2快
a = np.arange(4)
print(a)
b = a
c = a
d = b
a[0] = 8
print(a)
print(d) #都是一样的,一个改变了其他都变
print(b is a) #如果一样就是True
d[1:3] = [11,22]
print(a) #也是一样的,等于是改的同一快数组中的数据
#如果想a改变,其他赋值的不变则需要深拷贝
b = a.copy() #深拷贝,拷贝数组重新放到另外一块记忆体中
print(a)
b[0] = 66
print(a,b) #b变了,a沒变
以上是"Python中numpy怎么用"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
矩阵
生成
序列
维度
变换
最大
最小
三个
两个
最大值
索引
三行
迭代
一行
上下
之间
内容
拷贝
数值
数据
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
软件开发应聘小型公司
数据库中的数据关系表示
从用户角度看网络安全
plsql 连接数据库
辽宁生鲜软件开发
服务器热备设置
lol日服无法联系到服务器
条码数据库如何全选
华为账号服务器断开了怎么办
linux中间件无法访问数据库
判断数据库用户是否存在
修改数据库一列中的值
安卓社交软件开发课程设计
打印机服务器 固网
开源tcp代理服务器
联合国商品贸易数据库两岸
08数据库必须装c盘吗
腾讯云服务器开启maf
阿里云服务器建站模板
计算机四级教程网络技术
上海软件开发有限公司
第四代计算机网络技术有哪些
今玖互联网科技信息有限公司
寺庙 软件开发
从服务器接出来的网出现感叹号
本地服务器和客户端无法相互连接
数据库tcp端口号
华为服务器代理商提成
vivo软件开发怎么样
没有网络安全就没有国家安