Python中Numpy(2,numpy的基本操作(级联,维度转换,切分,副本))
生活随笔
收集整理的这篇文章主要介绍了
Python中Numpy(2,numpy的基本操作(级联,维度转换,切分,副本))
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
1. ndarray的基本操作
# 1.索引与切片 和列表的是一个道理 n2 = np.arange(0,10,1) print(n2) print(n2[::-1]) #反转 print(n2[::2]) #按步长取数据#2. 变形 使用reshape函数,注意参数是一个tuple! n3 = n2.reshape((5,2)) print(n3) # 3. 级联 np.concatenate() 即就是将两个数组连接起来 # 级联的参数是列表:一定要加中括号或小括号 # 维度必须相同,形状相符 n1 = np.random.randint(0,10,size=(5,5)) print(n1) # 将n1和n1连接起来,axis=0为列连接,axis=1为行连接 n2 = np.concatenate((n1,n1),axis=0) print(n2)# 4.转换维度 n3 = np.random.randint(0,10,10) print(n3) # 将水平的转化为垂直的 n4 = np.vstack(n3) print(n4) # 将垂直的转化为水平的 n5 = np.hstack(n4) print(n5)# 5.切分 # 5.1 np.split() n6 = np.random.randint(0,255,size=(7,7)) print(n6) # 把n6数组从第二个到第三个切割开来 # (数组角标从0开始,左闭右开),前面是部分,指定的切割内容是一部分,后面是一部分 # 里面的axis默认等于0,即对“行”进行切分 n7 = np.split(n6,(2,4)) print(n7) # 参数axis=1, 即对“列”进行切分 n8 = np.split(n6,(2,4),axis=1) print(n8) # 5.2 np.vsplit() # 切分行 n9 = np.vsplit(n6,(1,3)) print(n9) # 5.3 np.hsplit() # 切分列 n9 = np.vsplit(n6,(1,3)) print(n9) # 6 副本 copy() n = np.array([1,2,3,4]) n1 = n # 把n的值直接赋值给n1 n1[2] = 1024 #修改n1里面的一个值 print("n2为:",n1) print("n为:",n) # n2为: [ 1 2 1024 4] # n为: [ 1 2 1024 4] # 我们会发现用等号直接赋值的方式时,修改n1,n里面的数也会被修改 # 为防止上述的情况出现,用copy() n3 = np.array([1,2,3,4]) n4 = n.copy() #使用 copy()函数创建副本 n4[2] = 1024 print("n3为:",n) print("n4为:",n3) # n3为: [ 1 2 1024 4] # n4为: [1 2 3 4]
总结
以上是生活随笔为你收集整理的Python中Numpy(2,numpy的基本操作(级联,维度转换,切分,副本))的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: Python中的Numpy模块(1,nu
- 下一篇: Python中的Numpy(3.聚合操作