学习numpy

import numpy as np

def add(n):
    a =np.arange(1,n+1)**3
    b =np.arange(1,n+1)**2
    return a+b

print(add(3))

a=np.array([1,2,3,4,5])
b=np.array(range(1,6))
c=np.arange(1,6)
print(a.shape)#返回维度
a.ndim#维度的数目
a.size#元素的数目
a.dtype#元素的数据类型

np.arange(1,10,2)#添加步长
np.arange(5)

#np.ones创建全是1的数组
np.ones(3)
np.ones((3,4))

#np.zero全是0的数组
#方法同ones

#full传递指定数字的数组
np.full(3,12)
np.full((3,4),24)

#like
x=np.array(([0,1,2],[3,4,5]))
print(np.ones_like(x))

#random
np.random.randn()
np.random.randn(3)
np.random.randn(3,2)

np.round(a,2)#a保留小数点后两位

#数组计算
a=np.arange(10)
b=a.reshape(2,5)
print(b)

print(a+1)#原数组每个元素加1
print(a*3)

#切片
print(a[3])
print(a[2:5])
#二位
b[:,2]#第二列
a[0:2,2:4]#0 1 行,2,3列
a[-1,2]#最后一行第二列
a[0:-1]#除了最后一行
#布尔索引
a=np.arange(10)
a1= a>4
print(a[a1])
a[a<=5]=0
a[a>5]=1
print(a)

a=np.arange(10)
a[a>5]+=10
print(a)

q=np.arange(1,21).reshape(4,5)
print(q)
print('#'*20)
q1=q>9
print(q1)
q=q[q1]
print(q)

q=np.arange(1,21).reshape(4,5)
q2=q[:,3]>5
q[:,3][q2]=520
print(q)

q=np.arange(10)
q3= (q%2==0)|(q<7)
print(q[q3])

w=np.arange(32).reshape(8,4)
w1=w[[1,2,4],[0,3,1]]
print(w1)

e=np.random.randint(1,100,10)
e1=e.argsort()[-3:]
print(e[e1])#最大的三个数
#轴和转置
q=np.arange(10).reshape(2,5)
q.transpose()#值转置
q.swapaxes(1,0)#轴转置

#seed
import random
random.seed(10)
print(random.random())
print(random.random())
print(random.random())

a1=np.random.rand(3)
a2=np.random.rand(2,3)
a1=np.random.rand(2,3,4)


np.random.randn()#标准正态分布
np.random.randint()#随机整数
np.random.randint(1,20,size=(3,4))
np.random.random()#小数

#从数组中生成随机数
np.random.choice(5,3)#从range(5)中取3个
np.random.choice(2,(2,3))#从range(5)中取2行3列
np.random.choice([1,2,3,4,5,6,7],2)#从前面的数组中拿2个
np.random.choice([1,2,3,4,5,6,7],(2,3))#

#把数组随机排列
c=np.arange(10)
np.random.shuffle(c)
#多维只按行随机,列不变

#把数字全排列
d=np.random.permutation(10)
print(d)

#生成正太分布数字
v=np.random(1,10,10)#均值方差数量
    
#均匀分布数字
i=np.random.uniform(1,10,10)
i=np.random.uniform(1,10,(2,3))

np.where(a1>3,520,1314)
a=b.copy()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值