Python入门第四十八天Python丨NumPy 数组连接
Posted 轻松学Python
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python入门第四十八天Python丨NumPy 数组连接相关的知识,希望对你有一定的参考价值。
连接 NumPy 数组
连接意味着将两个或多个数组的内容放在单个数组中。
在 SQL 中,我们基于键来连接表,而在 NumPy 中,我们按轴连接数组。
我们传递了一系列要与轴一起连接到 concatenate() 函数的数组。如果未显式传递轴,则将其视为 0。
实例
连接两个数组:
import numpy as np
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
arr = np.concatenate((arr1, arr2))
print(arr)
运行实例
实例
沿着行 (axis=1) 连接两个 2-D 数组:
import numpy as np
arr1 = np.array([[1, 2], [3, 4]])
arr2 = np.array([[5, 6], [7, 8]])
arr = np.concatenate((arr1, arr2), axis=1)
print(arr)
运行实例
使用堆栈函数连接数组
堆栈与级联相同,唯一的不同是堆栈是沿着新轴完成的。
我们可以沿着第二个轴连接两个一维数组,这将导致它们彼此重叠,即,堆叠(stacking)。
我们传递了一系列要与轴一起连接到 concatenate() 方法的数组。如果未显式传递轴,则将其视为 0。
实例
import numpy as np
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
arr = np.stack((arr1, arr2), axis=1)
print(arr)
运行实例
沿行堆叠
NumPy 提供了一个辅助函数:hstack() 沿行堆叠。
实例
import numpy as np
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
arr = np.hstack((arr1, arr2))
print(arr)
运行实例
沿列堆叠
NumPy 提供了一个辅助函数:vstack() 沿列堆叠。
实例
import numpy as np
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
arr = np.vstack((arr1, arr2))
print(arr)
运行实例
沿高度堆叠(深度)
NumPy 提供了一个辅助函数:dstack() 沿高度堆叠,该高度与深度相同。
实例
import numpy as np
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
arr = np.dstack((arr1, arr2))
print(arr)
运行实例
python入门第二十八天——文件上传
服务端:
1 #!/usr/bin/env python3 2 #-*- coding:utf-8 -*- 3 ‘‘‘ 4 Administrator 5 2018/8/1 6 ‘‘‘ 7 import subprocess 8 import socket,os 9 10 # 创建一个socket: 11 #family=AF_INET, type=SOCK_STREAM, proto=0, fileno=None 12 #创建Socket时,AF_INET指定使用IPv4协议, 13 # 如果要用更先进的IPv6,就指定为AF_INET6 14 # AF_UNIX Unix不同进程之间的通信 15 # SOCK_STREAM指定使用面向流的TCP协议 SOCK_DGRAM UDP协议 16 s=socket.socket(socket.AF_INET,socket.SOCK_STREAM) 17 print(s) 18 address=(‘127.0.0.1‘,8000) 19 #建立连接 20 s.bind(address) 21 #监听设置端口等待客户端的请求数量 22 s.listen(3) 23 24 25 print(‘等待...........‘) 26 BASE_DIR=os.path.dirname(os.path.abspath(__file__)) 27 28 while True: 29 # accept 阻塞 30 conn, addr = s.accept() 31 print(addr) 32 while True: 33 data=conn.recv(1024) 34 cmd,filename,filesize=str(data,"utf8").split("|") 35 path=os.path.join(BASE_DIR,"img",filename) 36 filesize=int(filesize) 37 38 f=open(path,"wb") 39 40 get_sent=0 41 while get_sent != filesize: 42 data=conn.recv(1024) 43 get_sent+=len(data) 44 f.write(data) 45 print("接受完毕。") 46 f.close() 47 48 49 s.close()
客户端:
1 #!/usr/bin/env python3 2 # -*- coding:utf-8 -*- 3 ‘‘‘ 4 Administrator 5 2018/8/1 6 ‘‘‘ 7 import socket,os,sys 8 9 sck = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 10 print(sck) 11 address = (‘127.0.0.1‘, 8000) #192.168.0.103 12 sck.connect(address) 13 14 BASE_DIR=os.path.dirname(os.path.abspath(__file__)) 15 while True: 16 inp = input(">>>").strip()#post|kanqingzi.jpg 17 18 cmd,path=inp.split("|") 19 path=os.path.join(BASE_DIR,path)#拼接路径 20 21 filename=os.path.basename(path)#需要文件名字 22 filesize=os.stat(path).st_size#需要文件大小 23 #文件打包 24 file_info="post|%s|%s"%(filename,filesize)#字符串拼接 25 sck.sendall(bytes(file_info,"utf8")) 26 27 with open(path,"rb") as f: 28 has_sent=0 29 while has_sent !=filesize: 30 data=f.read(1024) 31 sck.sendall(data) 32 has_sent+=len(data) 33 print("上传成功!!!") 34 35 sck.close()
练习:远程控制对方电脑,并将对方电脑里面的图片发送过来。
以上是关于Python入门第四十八天Python丨NumPy 数组连接的主要内容,如果未能解决你的问题,请参考以下文章