Python基础
夏福生
十多年软件研发经验,多年软件架构经验,多年团队管理经验。拥有高并发,分布式设计设计经验。
使用的软件工具:Python,Numpy,Pandas,Matplotlib,OpenCV,C++,JAVA,C#,Redis缓存,MangoDB,MySQL,MSSQL,
研究方向:机器学习,深度学习,自动驾驶
算法方面:后面再更新
展开
-
Pytorch——基本操作、与numpy协同
importtorchimportnumpyasnpx=torch.empty(5,3)#创建5行3列的0矩阵y=torch.rand(5,3)#创建5行3列的随机数矩阵a=torch.empty(5,3,dtype=torch.double)#创建5行3列的0矩阵x.size()#打印维度x+y#基本计算一会b=torch.empty(4,4)c=b.view(16)#改变形状d=b.view(-1,8)#改变形状e=b.numpy()#转成nu...原创 2022-01-24 21:28:49 · 1233 阅读 · 0 评论 -
机器学习-鸢尾花【K近邻算法(knn)带【交叉验证】适合于大样本的自动分类
'''Createdon2022年1月16日1.获取数据集2.数据基本处理3.特征工程4.机器学习(模型训练)5.模型评估@author:datangzn'''fromsklearn.datasetsimportload_irisfromsklearn.model_selectionimporttrain_test_splitfromsklearn.preprocessingimportStandardScalerfromsklearn.neighbors...原创 2022-01-18 22:50:02 · 748 阅读 · 0 评论 -
机器学习—K近邻算法(knn)【适合于大样本的自动分类】
'''Createdon2022年1月16日1.获取数据集2.数据基本处理3.特征工程4.机器学习(模型训练)5.模型评估@author:datangzn'''fromsklearn.datasetsimportload_irisfromsklearn.model_selectionimporttrain_test_splitfromsklearn.preprocessingimportStandardScalerfromsklearn.neighbors...原创 2022-01-18 21:36:08 · 1147 阅读 · 0 评论 -
Pandas缺失值处理、电影案例分析
importmatplotlib.pyplotaspltimportnumpyasnpimportpandasaspdmovie1=movie=pd.read_csv("./IMDB-Movie-Data.csv")np.any(pd.isnull(movie1))#判断里面是否有一个缺失值,有就还回Truenp.all(pd.notnull(movie1))#判断里面是否有一个缺失值,有就还回Falsenp.any(pd.isnull(data))#判断里面是否...原创 2022-01-18 19:47:35 · 1033 阅读 · 0 评论 -
OpenCV图像轮廓、轮廓近似、外接矩形、外接圆
importcv2#opencv读取的格式是BGRimportmatplotlib.pyplotaspltimportnumpyasnp%matplotlibinlinedefcv_show(name,img):cv2.imshow(name,img)cv2.waitKey(0)cv2.destroyAllWindows()1图像轮廓cv2.findContours(img,mode,method)RETR_EXTERNAL...原创 2022-01-12 23:49:18 · 1970 阅读 · 0 评论 -
OpenCV图像阈值、图像滤波、双阈值、上下采样
importcv2#opencv读取的格式是BGRimportmatplotlib.pyplotaspltimportnumpyasnpimporttorchasptimporttorchvisionastvimporttransformersastrs%matplotlibinline图像阈值2ret,dst=cv2.threshold(src,thresh,maxval,type)str:输入图,只能输入单通道图像,通常来说为灰度...原创 2022-01-12 20:24:14 · 1702 阅读 · 0 评论 -
OpenCV Sobel、scharr、apkacian算子
#Sobel算子pie_s=cv2.imread("pie.png",cv2.IMREAD_GRAYSCALE)cv2.imshow("pie_s",pie_s)cv2.waitKey(0)cv2.destroyAllWindows()#1dst=cv2.Sobel(src,ddepth,dx,dy,ksize)#1.1ddepth:图像的深度¶#1.2dx和dy分别表示水平和竖直方向#1.3ksize是Sobel算子的大小defcv_show(img,name...原创 2022-01-09 22:20:19 · 663 阅读 · 0 评论 -
OpenCV梯度运算、礼帽与黑帽
#梯度=膨胀-腐蚀pie_t=cv2.imread("pie.png")kernel_t=np.ones((5,5),np.uint8)digete_t=cv2.dilate(pie_t,kernel_t,iterations=5)erosion_t=cv2.erode(pie_t,kernel_t,iterations=5)res_t=np.hstack((digete_t,erosion_t))cv2.imshow("res_t",res_t)cv2.waitKey...原创 2022-01-09 19:15:56 · 732 阅读 · 0 评论 -
OpenCV腐蚀操作、膨胀操作、开运算与闭运算
importcv2#opencv读取的格式是BGRimportmatplotlib.pyplotaspltimportnumpyasnp%matplotlibinline1腐蚀操作img_dg=cv2.imread("dige.png")cv2.imshow("img",img_dg)cv2.waitKey(0)cv2.destroyAllWindows()kernel=np.ones((5,5),np.uint8)erosion=cv2.erode(i...原创 2022-01-09 18:38:01 · 955 阅读 · 0 评论 -
OpenCV数值计算、图像融合
importcv2#opencv读取的格式是BGRimportmatplotlib.pyplotaspltimportnumpyasnp%matplotlibinline1数值计算img_cat=cv2.imread("cat.jpg")img_dog=cv2.imread("dog.jpg")img_cat2=img_cat+10img_cat2[:5,:,0]2图像融合...原创 2022-01-09 17:39:40 · 532 阅读 · 0 评论 -
OpenCV 文件读取,截取、通道分离、边界填充
importcv2#opencv读取的格式是BGRimportmatplotlib.pyplotaspltimportnumpyasnp%matplotlibinline#读取视频vc=cv2.VideoCapture("test.mp4")ifvc.isOpened():oepn,frame=vc.read()else:open=Falsewhileopen:ret,frame=vc.read()if...原创 2022-01-09 11:24:44 · 761 阅读 · 0 评论 -
Pandas文件读取与存储(json、csv、hdf5)
原创 2022-01-07 18:45:43 · 446 阅读 · 0 评论 -
Pandas基本操作(运算、统计)
importpandasaspdimportnumpyasnpimportmatplotlib.pyplotasplt#读取csv文件stock_d=pd.read_csv("./macrodata.csv")原创 2022-01-07 16:13:38 · 547 阅读 · 0 评论 -
Pandas基本操作(索引、赋值、排序)
importpandasaspdimportnumpyasnp原创 2022-01-07 16:06:54 · 369 阅读 · 0 评论 -
Python数值运算、字符操作、索引与切片、列表与字典
原创 2022-01-05 16:59:47 · 245 阅读 · 0 评论 -
Numpy数组的去重
importnumpyasnparr = np.array([[1,2,3,4,5],[3,4,5,6,7]])#去重np.unique(arr)原创 2022-01-04 23:20:21 · 4006 阅读 · 0 评论 -
Numpy数组的形状
import numpy as np#生成以1为中心,两边正负1的四行五列数组stock_change=np.random.normal(1,1,(4,5))stock_change#不进行行列互换,产生新变量stock_change.reshape(5,4)#进行行列互换,对原值进行更改stock_change.resize(5,4)#变换成,-1表示行不定,2列stock_change.reshape([-1,2])#T行列互换(数据与形状)stock_change..原创 2022-01-04 21:28:39 · 541 阅读 · 0 评论 -
Numpy的数据索引和切片
#数据索引,切片#生成以1为中心,两边为1的两维数组stock_change=np.random.normal(1,1,(8,10))#取0行到2行,0列到3列的数据stock_change[0:2,0:3]#生成三维数组a1= np.array([[[1,2,3],[4,5,6]],[[12,3,34],[5,6,7]]])#取第二个大块,第0行的第0列a1[1,0,0]...原创 2022-01-04 19:20:44 · 242 阅读 · 0 评论 -
Numpy生成数组
#生成1-100,平均分布值np.linspace(1,100,11)#生成10-50,步长为2的数组np.arange(10,50,2)#生成对数等比数列,从0开始到10的2次方,20个等比数np.logspace(0,2,20)#生成0-1的内的N行M列的数据np.random.rand(3,3)#生成1-100的n行m列数组np.random.uniform(low=1,high=100,size=(3,5))#生成1-10整数的n行m列数组np.random.rand原创 2022-01-04 18:39:50 · 2142 阅读 · 0 评论 -
matplotlib画正态分布图
importmatplotlib.pyplotaspltimportscipy.statsasstatsimportnumpyasnp#pdfmu=0plt.plot(np.linspace(-4,4,100),stats.norm.pdf(np.linspace(-4,4,100)))注:以上是以0为中心,两边各正负4的正态分布图的代码原创 2022-01-02 17:49:45 · 3008 阅读 · 0 评论 -
numpy深拷贝与浅拷贝
importnumpyasnpones=np.ones([4,5])onesnp.zeros_like(ones)a=np.array([[1,2,3],[4,5,6]])#深拷贝a1=np.array(a)a1#浅拷贝a2=np.asarray(a)a2a[0,0]=100aa1a2原创 2022-01-02 17:05:56 · 69 阅读 · 0 评论 -
matplotlib的折线图
importmatplotlib.pyplotaspltimportrandom#生成数据x=range(60)y_beijing=[random.uniform(10,15)foriinx]y_shanghai=[random.uniform(15,25)foriinx]#创建画布,dpi是像素plt.figure(figsize=(20,8),dpi=100)#图形绘制plt.plot(x,y_beijing,label="北京",color="g",lines...原创 2022-01-02 16:59:35 · 229 阅读 · 0 评论 -
matplotlib的散点图
importmatplotlib.pyplotasplt#数据准备x=[12,22,33,44,55,66,77,88]y=[32,33,43,12,53,65,76,34]#创建画布plt.figure(figsize=(20,8),dpi=100)#图像绘制(散点图)plt.scatter(x,y)#图像显示plt.show()原创 2022-01-02 16:55:45 · 234 阅读 · 0 评论 -
matplotlib的柱状图
importmatplotlib.pyplotasplt#数据准备#电影名字movle_name=["雷神3“诸神黄昏","正义联盟","东方快车谋杀案"]x=range(len(movle_name))y=[73233,54312,25365,]#创建画布plt.figure(figsize=(20,8),dpi=100)#图像绘制(柱状图)plt.bar(x,y)plt.xticks(x,movle_name,fontsize=15)plt.grid()plt.titl...原创 2022-01-02 16:50:47 · 522 阅读 · 0 评论 -
matplotlib的饼图
importmatplotlib.pyplotasplt#数据准备#电影名字movle_name=["雷神3“诸神黄昏","正义联盟","东方快车谋杀案"]x=range(len(movle_name))y=[73233,54312,25365,]#创建画布plt.figure(figsize=(20,8),dpi=100)#图像绘制(散点图)plt.bar(x,y)#图像显示plt.show()...原创 2022-01-02 16:42:08 · 574 阅读 · 0 评论 -
Python与Numpy数值运算性能对比代码
#性能对比importrandomimporttimeimportnumpyasnpb=[]foriinrange(100000000):b.append(random.random())%timesum1=sum(b)c=np.array(b)%timesum2=np.sum(c)运算结果如下:1、Python:CPUtimes:user578ms,sys:0ns,total:578msWalltime:578m...原创 2022-01-02 16:40:11 · 280 阅读 · 0 评论