一、TCP通信
1.客户端
import threading
import socket
#接收方法
def recvmsg(sock):
while 1:
try:
data=sock.recv(1024)
print(data.decode("UTF-8"))
#保证发送不为空
if(data==""):
break
except ConnectionResetError as e: #避免连接中断
break
sock=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
sock.connect(("127.0.0.1",5003)) #连接服务器
t=threading.Thread(target=recvmsg,args=(sock,)) #创建一个接收线程
t.start()
while 1:
ss=input()
sock.send(ss.encode("UTF-8")) #将字符串转化为utf-8字符
2.服务器
import socket
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM) #创建一个套接字
addr=("0.0.0.0",5003)
s.bind(addr) #绑定地址和端口号
s.listen(128) #监听
while 1:
s2,addr2=s.accept() #等待连接
print(s2,addr2,"connet to me!")
while 1: #等待接收
try:
data=s2.recv(1024)
if data:
print(data.decode("UTF-8"))
else:
break
except ConnectionResetError as e:
break
二、pandas模块的 使用
1.关于sqlite数据库的导入和访问步骤
step1: cd c:/temp
step2 :sqlite3 test. db
step3 :将表的create语句 复制到提示符后面,注意结束要加;
step4 :将insert语句保存为 c:/temp/al.sql
step5 :在提示符后键入 .read al.sql
2.利用pandas分析数据
from sqlalchemy import create_engine
import pandas as pd
#一.读取数据-------------------------------------------------------------------------------
#1.连接数据库
engine=create_engine("sqlite:///G:/大数据实验数据库/0.engine数据库/test.db")
detail=pd.read_sql_table("meal_order_detail1",con=engine)
#2.基本使用
detail.columns
detail.loc[:,["counts","amounts"]].describe() #读取counts,amounts,对其进行描叙
detail[['order_id',"counts","amounts"]]
#二.常用函数------------------------------------------------------------------------------
#1.分组聚合
tx=detail[['order_id',"counts","amounts"]].groupby(by="order_id") #将数据以order_id进行分组
for i in tx: #打印每一组的具体数据
print(i)
tx.mean().head(3) #展示每一组的平均数
tx.std().head(3) #展示每一组的标准差
tx.size().head(3) #展示每一组的个数
#2.agg方法分析数据属性
import numpy as np
detail[["counts","amounts"]].agg([np.sum,np.mean])
detail.agg({"counts":np.sum,"amounts":np.mean})
detail.agg({"counts":np.sum,"amounts":[np.mean,np.sum,np.std],"order_id":np.sum})
tx.agg(np.mean).head(3)
#3.join的内外连接(将所有的列拼在一起,对应的行 outer并集 inner交集)
df1=detail.iloc[:5,:3]
df2=detail.iloc[:8,:3]
pd.concat([df1,df2],axis=1,join="outer")
pd.concat([df1,df2],axis=1,join="inner")
#三、imedelta模块------------------------------------------------------------------------------------------
import pandas as pd
order=pd.read_csv("G:\\大数据实验数据库\\3.大数据实验数据\\meal_order_info.csv",encoding="GBK")
order["lock_time"]
order["myxxx"]=pd.to_datetime(order["lock_time"]) #添加新的列
order["myxxx2"]=order["myxxx"]+pd.Timedelta(days=10)
order.head()