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()