python中操作

python中操作

1.不同的赋值操作

a=np.arange(15)
b=a
print(a is b)
b.shape=(3,5)
print(a.shape)
print(id(a))
print(id(b))
#地址一样,操作b就相当于操作a

输出结果:
True
(3, 5)
2449637172128
2449637172128

c=a.view()#相当于浅复制,与b=a不同
print(a is c)
c.shape=(3,5)
print(a.shape)
c[0,4]=123
print(a)
print(id(a))
print(id(c))
#地址不一样,但是共用同一套值,对c操作也是对a的操作

输出结果:
False
(3, 5)
[[ 0 1 2 3 123]
[ 5 6 7 8 9]
[ 10 11 12 13 14]]
2449637172128
2449637213728

d=a.copy()
print(d is a)
d[0,0]=99
print(d)
print(a)
#各自做各自的,复制过后a与b没有关系

输出结果:
False
[[ 99 1 2 3 123]
[ 5 6 7 8 9]
[ 10 11 12 13 14]]
[[ 0 1 2 3 123]
[ 5 6 7 8 9]
[ 10 11 12 13 14]]

2.找每行或者每列最大值

data=np.sin(np.arange(20).reshape(5,4))
print(data)
ind=data.argmax(axis=0)#找每列最大
print(ind)
inl=data.argmax(axis=1)#找每行最大值
print(inl)
#返回每列或者每行的最大值的下标索引

输出结果:
[[ 0. 0.84147098 0.90929743 0.14112001]
[-0.7568025 -0.95892427 -0.2794155 0.6569866 ]
[ 0.98935825 0.41211849 -0.54402111 -0.99999021]
[-0.53657292 0.42016704 0.99060736 0.65028784]
[-0.28790332 -0.96139749 -0.75098725 0.14987721]]
[2 0 3 1]
[2 3 0 2 3]
3. 扩展矩阵

a=np.arange(0,40,10)
print(a)
b=np.tile(a,(3,5))#扩展a变为3*5矩阵
print(b)
输出结果:
[ 0 10 20 30]
[[ 0 10 20 30  0 10 20 30  0 10 20 30  0 10 20 30  0 10 20 30]
 [ 0 10 20 30  0 10 20 30  0 10 20 30  0 10 20 30  0 10 20 30]
 [ 0 10 20 30  0 10 20 30  0 10 20 30  0 10 20 30  0 10 20 30]]
  1. 排序
a=np.array([[4,3,5],[1,2,1]])
print(a)
b=np.sort(a,axis=1)
print(b)
print(a)
a.sort(axis=1)
print(a)
a=np.array([4,3,1,2])
j=np.argsort(a)
print(j)
print(a[j])
输出结果:
[[4 3 5]
 [1 2 1]]
[[3 4 5]
 [1 1 2]]
[[4 3 5]
 [1 2 1]]
[[3 4 5]
 [1 1 2]]
 [2 3 1 0]
[1 2 3 4]

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值