Numpy一些操作--Day0.00001

import numpy as np

array = np.array([[1,2,3],[1,2,3]])
print(array)
print("number of dim : ",array.ndim) #矩阵维数
print("shape : ",array.shape) #矩阵形状
print("size : ",array.size) #矩阵共有多少元素
array_two=np.array([1,2,3],dtype=int) #表示定义矩阵元素类型,如int64,float等
print(array_two.dtype)

array_three = np.zeros((3,4)) #创建一个3行4列矩阵,每个元素值为0
print(array_three)

array_four = np.arange(10,20,2) #创建一个一维矩阵元素为10-20,每个元素差值为2

array_five = np.arange(12).reshape((3,4)) #创建一个3x4共有12个元素的矩阵,元素为0-11
print(array_five)

aline = np.linspace(1,10,8) #生成一个列表共有8个元素,值为1-10,等差数列
print((aline))

aline = np.linspace(1,10,8).reshape((2,4)) #将一维列表转化为2维列表
print((aline))

#numpy中的减法操作,将两个相同类型的矩阵,行列高均一致,两个矩阵对应元素相减
a=np.arange(10,50,10).reshape(2,2)
b=np.arange(4).reshape(2,2)
print(f"{a}\n{b}")
print(a-b)

#numpy中n次方运算,例如平方 b**2,矩阵中每个元素平方得到新的矩阵,pow函数可以
print(pow(b,2))
print(b**2)

#判断矩阵中那些元素小于n,打印每个位置是true 或者false
print(b<=2)

#numpy中矩阵元素各个相乘a*b
print(a*b)

#numpy中矩阵乘法 np.dot(a,b)
print(np.dot(a,b))

#numpy中创建随机数矩阵
d=np.random.random((2,4))
print(d)
print(np.max(d,axis=0)) #d列表中元素最大值,求每一列最大值
print(np.max(d,axis=1)) #d列表中元素最大值,求每一行最大值
print(np.min(d))
print(np.sum(d))

#numpy中求解最大值和最小值索引等
A=np.arange(2,14).reshape(3,4)
print(A)
print(np.argmax(A))
print(np.argmin(A))
print(np.average(A)) #求平均值
print(np.median(A)) #求中位数
print(np.cumsum(A)) #累加得到一个一维矩阵
print(np.diff(A)) #每两个数的累差,得到和原矩阵相同行列的矩阵
print(np.nonzero(A)) #numpy找出矩阵中非零数的坐标,输出行列的坐标分开输出
B=np.transpose(A) #求一个矩阵转置
print(B)
print(np.sort(B))#逐行排序
print(np.clip(A,5,9)) #将矩阵中小于5的值赋值为5,大于9的值赋值为9
print(np.mean(A,axis=0)) #对于列进行计算求平均值,axis=1对于行进行计算平均值


#numpy中索引,可以利用切片
A=np.arange(2,14).reshape(3,4)
print(A)
print(A[1,1:2]) #利用切片打印第几行那几个元素

# row 行
for row in A[1:]:
    print(row)

# 通过转置来迭代每一列
for column in A.T:
    print(column)
# A.flat 表示把矩阵转化为一行序列
print(A.flatten())

# for item in A.flat:
#     print(item)

#矩阵合并
a=np.array([1,1,1])
b=np.array([2,2,2])
c=np.array([2,2,2])
print(np.vstack((a,b))) #另起一行合并 //上下合并
print(np.vstack((a,b)).shape)
print(np.hstack((a,b))) #同一行合并 //左右合并
d=np.concatenate((a,b,c,a),axis=0)
print(d) #多个矩阵合并,0为横向,1为纵向,必须使用矩阵

#将一维列表转化为矩阵
print(a[:,np.newaxis]) #在列上加一个维度
print(a[np.newaxis,:]) #在行上加一个维度

#numpy中矩阵分割
e=np.arange(12).reshape(3,4)
print(e)
print(np.split(e,2,axis=1)) #将每一行分为两组,构成两个矩阵
print(np.split(e,3,axis=0))#将每一行分为三组,构成三个矩阵

#numpy中矩阵赋值
a=np.arange(4)
print(a)
b=a
a[0]=11
print(b) #a和b,完全一致,改变a中元素值,b中元素值也会改变

c=np.copy(a)
a[0]=13
print(c) #copy函数只是复制,不会随波逐流

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值