欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > python >内容正文

python

Python中Numpy(2,numpy的基本操作(级联,维度转换,切分,副本))

发布时间:2024/9/30 python 54 豆豆
生活随笔 收集整理的这篇文章主要介绍了 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的基本操作(级联,维度转换,切分,副本))的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。