
python学习
文章平均质量分 54
python开发和学习
心之所向521
锲而舍之,朽木不折;锲而不舍,金石可镂!
敬畏代码!
展开
-
os.listdir(path)避坑指南
最近再做一个项目,需要处理大量的数据(包含又图片和txt格式文件),所以需要用到os.listdir()函数来对文件下的图片或者txt进行处理,但是需要特别注意的是os.listdir()函数虽然是列举的当前文件下的所有文件,但是不一定会列举出原来的顺序!!!文件路径下的子文件是这样分布的:例如:import osif __name__ == '__main__': path = "E:/桌面/rgbLabel-all/" filelist = os.listdi.原创 2022-04-23 17:25:08 · 8575 阅读 · 5 评论 -
python爬取双色球2003-2022年所有数据
直接上代码:import requests, bs4import os, timeimport operatorfrom itertools import combinations, permutationsimport torchclass DoubleColorBall(object): def __init__(self): self.balls = {} self.baseUrl = 'http://tubiao.zhcw.com/tub.原创 2022-04-05 15:35:47 · 5320 阅读 · 4 评论 -
python实现二维数组中元素转化为float64做法
思路: 先将二维数组转化为二维列表 将二维列表中的所有元素转化为float64格式 最后将其转化为ndarray ##对二维方阵进行二维卷积,直至卷积为1*1的数值 while(len(data2[0]) != 1): b = [] data2 = data2.numpy() ##将tensor转化为为数组格式 dat...原创 2022-04-01 19:27:58 · 3831 阅读 · 0 评论 -
python实现将二维矩阵m * n补零为方阵n * n
思路: 先将二维矩阵m * n转化为列表 进行补零操作 最后再次转化为数组 data = data.tolist() ##作为矩阵的data,先将其转化为列表 ###添加0,使二维温度矩阵变为方阵 for item1 in data: if(len(item1) != len(data)): if(len(item1) &...原创 2022-04-01 19:26:46 · 1912 阅读 · 3 评论 -
python实现离散点图画法
目录改进:再次改进:再次改进:改进:基础代码pred_y = test_output.data.numpy()pred_y = pred_y.flatten()print(pred_y, 'prediction number')print(test_y[:355].numpy(), 'real number')import matplotlib.pyplot as pltplt.rc("font", family='KaiTi')plt.figure()f, ax原创 2022-03-31 18:31:52 · 4778 阅读 · 28 评论 -
华为2022年软挑赛初赛试题及初级代码(成渝赛区)
目录1.赛题描述2.全部代码1.赛题描述2.全部代码# import psutil ##查看程序所占用的内存空间# import osimport numpy as npimport configparserimport timestart =time.clock()config_path = 'F:\\桌面\\data\\config.ini'path1 = "F:\\桌面\\data\\demand.csv"path2 = "F..原创 2022-03-31 18:26:51 · 1183 阅读 · 0 评论 -
python创建类及继承、重构、多态的举例
目录1.创建类2.继承3.重构4.Python中子类与父类的关系5.python 中多态1.创建类如下定义一个动物类Animal为基类,它基本两个实例属性name和age、一个方法call。class people: #定义基本属性 name = '' age = 0 #定义私有属性,私有属性在类外部无法直接进行访问 __weight = 0 #定义构造方法 def __init__(self,n,a,w):...原创 2022-03-31 18:18:44 · 1561 阅读 · 0 评论 -
python批量建立对象
方法一:class Blog: def __init__(self,num): print("a new object num is",num) self.value = num def __str__(self): return str(self.value+3) # 循环建立四个对象,locals()函数可以将字符串转换为变量名!#具体的操作和含义我并不清楚,大家可以自行百度~for i in range(1,5): ...原创 2022-03-31 18:15:49 · 2879 阅读 · 4 评论 -
数据写入excel表格并保存
直接上代码:# -*- coding: utf-8 -*-import xlsxwriter as xwdef xw_toExcel(data, fileName): # xlsxwriter库储存数据到excel workbook = xw.Workbook(fileName) # 创建工作簿 worksheet1 = workbook.add_worksheet("sheet1") # 创建子表 worksheet1.activate() # 激活表原创 2022-03-31 18:12:31 · 570 阅读 · 0 评论 -
pytorch生成种子,以及权重的保存和导入
pytorch生成种子,可重复训练:##牺牲计算效率,提升准确率from torch.backends import cudnncudnn.benchmark = False # if benchmark=True, deterministic will be Falsecudnn.deterministic = True###设置种子,保证可重复性seed = 1random.seed(seed)np.random.seed(seed)torch.manua...原创 2022-03-09 16:15:55 · 539 阅读 · 1 评论 -
python对文档中元素操作---删除、替换等
pthon更换文档中某元素:with open('E:\\桌面\\train.txt', 'r') as f: lines = f.readlines()with open('E:\\桌面\\1704.txt', 'a') as ff: # 此处 w 和 a,均可,反正是新建的临时文件,文件不存在时会自动创建 for line in lines: # kv = line.strip().split(' ') kv = line.split(' ...原创 2022-03-09 16:14:36 · 816 阅读 · 0 评论 -
pytorch中网络训练添加日志
pytorch中添加日志如果是指保存训练过程中的loss,accuracy等metric的话,可以采用下面的方法:import logging def get_logger(filename, verbosity=1, name=None): level_dict = {0: logging.DEBUG, 1: logging.INFO, 2: logging.WARNING} formatter = logging.Formatter( "[%(asctime...原创 2022-03-09 16:11:19 · 1851 阅读 · 0 评论 -
python实现对doc、txt、xls等文档的读写操作
目录1.python实现对doc文档的读取2.python实现对txt文档的读取3.python实现对xls表格的读取1.python实现对doc文档的读取#读取docx中的文本代码示例import docx#获取文档对象file=docx.Document("path")print("段落数:"+str(len(file.paragraphs)))#段落数为13,每个回车隔离一段#输出每一段的内容for para in file.paragraphs: pri..原创 2022-01-20 11:00:51 · 5823 阅读 · 5 评论 -
【室友用一局王者荣耀的时间学会了用python写春联】
目录0.效果展示1.导入模块2.获取对应汉字内容及像素3.生成并保存对联2022年了,又到了贴对联的时间了,不得安排一波用python脚本写对联吗?0.效果展示竖排:横批:1.导入模块PIL:全称 Python Imaging Library,是 Python 平台一个功能非常强大而且简单易用的图像处理库。但是,由于 PIL 仅支持到Python 2.7,加上年久失修,于是一群志愿者在 PIL 的基础上创建了兼容 Python 3 的版本,名字叫 Pi原创 2022-01-20 10:43:10 · 260 阅读 · 0 评论 -
单目可见光视频三维深度估计(python实现)
目录技术要点:主要应用:准备工作:构建环境:激活环境:需要安装库:权重文件下载:开始预测:1.采集图片2.修改标签文件3.训练模型4.启动主程序全部代码:说明:本篇文章主要借鉴于抖音恩培大佬的代码,大佬的github地址为:enpeizhao (enpei) (github.com)感兴趣的朋友也可以关注大佬的抖音号!技术要点: 脸部姿态估计识别与检测 帧率检测 目标物体三个角度x、y、z估计 主要应用: 家原创 2022-01-09 20:17:34 · 3804 阅读 · 9 评论 -
神经网络训练数据准备---数据标签在numpy和tensor之间的转换及处理---Pytorch实现
目录1.从txt文档中读取训练数据和测试数据2.从txt文件中读取标签数据3.将训练数据和测试数据转化为tensor形式,为后面训练做准备,因为训练数据在pytorch要求一般为tensor格式4.将标签转化为float型(此处是因为做的是回归任务),如果想要做分类任务的话需要将标签转化为long型!5.将已经转化为tensor格式的(train_datas, train_labels)和(test_datas, test_labels)转化为Data.DataLoader可以使用的格式原创 2022-01-06 21:23:03 · 3647 阅读 · 4 评论 -
Python实现十大经典排序算法---[冒泡排序、选择排序、插入排序、希尔排序、归并排序、快速排序、堆排序、计数排序、桶排序、基数排序]--动画演示
目录多种排序的平均时间复杂度如下:1.冒泡排序算法步骤2.插入排序算法步骤:3.选择排序算法步骤:4.希尔排序算法步骤5.归并排序算法步骤6.快速排序算法步骤:7.堆排序算法步骤8.计数排序算法步骤:9.桶排序10.基数排序算法步骤:关于对---基数排序 vs 计数排序 vs 桶排序的比较:排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序, 而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,原创 2022-01-06 21:14:46 · 375 阅读 · 1 评论 -
利用python和前端三件套来一场线上烟花秀
目录python烟花秀效果展示:全部代码如下:前端三件套(JS、CSS、HEML)的烟花秀HTML部分:定义网页内容CSS部分:描述网页布局JS部分:控制网页行为End✨✨✨✨✨✨✨元旦节就要来了,线下没有烟花看,线上不得整点烟花酷炫一下嘛!!啥?过啥圣诞节?过啥洋节,咱们过元旦节好吧!✨✨✨✨✨✨✨python烟花秀效果展示:在这里,我们设计一个对象,表示烟花事件中的每个粒子。每个粒子都会有一些重要的属性,支配了它的外观和移动状况:大原创 2021-12-30 22:36:44 · 4174 阅读 · 11 评论 -
Python call()方法
Python类中一个非常特殊的实例方法,即 _ _call _ _()。该方法的功能类似于在类中重载 () 运算符,使得类实例对象可以像调用普通函数那样,以“对象名()”的形式使用。 __call__方法的参数就是调用实例时需要的参数。可调用对象均具有__call__()方法!!class CLanguage: # 定义__call__方法 def __call__(self,name,add): print("调用__call__()方法",name,add)...原创 2021-12-07 23:46:31 · 2014 阅读 · 1 评论 -
python将图片转化为自己想要的FPS视频格式(代码解析)
科研必备代码!废话不多说!上代码!import osimport cv2# 图像路径im_dir = 'H:\\test\\out_test2'# 输出视频路径video_dir = 'E:\\桌面'##不存在就造一个!if not os.path.exists(video_dir): os.makedirs(video_dir)# 设置视频帧率fps = 20 ###设置所需的帧率# 得到当前路径的所有的文件的列表frames = sorted(os.l...原创 2021-12-06 21:52:21 · 1204 阅读 · 2 评论 -
python批处理将图片进行放大
有时候对于网络识别,将原始图片放进网络中并不能达到自己想要的效果,但是有时候如果将图片放大之后,识别率却能够达到意想不到的结果,现在提供一种将文件中的图片进行批处理的代码:import osfrom PIL import Imageimport sys #获取path目录下的所有文件def get_imlist(path): return[os.path.join(path,f) for f in os.listdir(path)] def ch...原创 2021-12-06 21:50:00 · 2320 阅读 · 7 评论 -
利用Mediapipe和DGL实现火影结印识别与追踪---特殊手势识别
还记得曾经日思夜想也要追番的火影吗?曾经的招式还可以依稀回忆起来吗?今天我们来用图卷积神经网络GCN+DGL+Mediapipe的方式实现火影结印识别!!!听起来是不是特别有意思呢??先看一段演示视频:利用Mediapipe和DGL实现特殊手势识别---【火影结印识别】雀氏有点意思!!!!!接下来咱们细细道来!!!首先从DGL说起·······1.DGl概述Deep Graph Library (DGL) 是一个在图...原创 2021-12-02 23:34:08 · 8028 阅读 · 15 评论 -
python中 inplace 参数的理解
pandas 中 inplace 参数在很多函数中都会有,它的作用是:是否在原对象基础上进行修改 inplace = True:不创建新的对象,直接对原始对象进行修改; inplace = False:对数据进行修改,创建并返回新的对象承载其修改结果。其默认的数值是False,即创建新的对象进行修改,原对象不变,和深复制和浅复制有些类似。实例1--inplace=True情况:import pandas as pdimport numpy as npdf=pd.DataFra..原创 2021-11-30 21:22:10 · 11852 阅读 · 2 评论 -
Python函数中参数前带*和**是什么意思?
背景前几天看了些python的代码,发现有些函数的参数前带有()号,有的甚至有两个()号,它们代表什么意思的?解释查阅资料后发现,参数前面加上* 号 ,意味着参数的个数不止一个,另外带一个星号*参数的函数传入的参数存储为一个元组(tuple),带两个**星号参数则是表示字典(dict) 下面我们实际操作一下:def t1(param1, *param2): print(param1) print(param2)t1(1,2,3,4)# 1# (2...原创 2021-11-30 20:24:22 · 9515 阅读 · 0 评论 -
好玩的开源项目MotionInput v2.0:探索无外接设备的交互---骨架检测、人脸关键点检测及追踪、手势识别、表情识别
------基于手势的机器学习和计算机视觉方法的模块库,用于与网络摄像头交互和控制现有软件(支持DirectX)-------原论文地址:https://arxiv.org/ftp/arxiv/papers/2108/2108.04357.pdf)1.Motioninput简介:Motioninput共有四个模块,用于描述基于 Windows 的交互的手势输入。他们使用常规网络摄像头和开源机器学习库,为 Microsoft Windows 10 上支持 DirectX 的...原创 2021-11-30 12:32:21 · 3900 阅读 · 2 评论 -
利用knn svm cnn 逻辑回归 mlp rnn等方法实现mnist数据集分类(pytorch实现及源码解析)
电脑 配置:python3.6**Pytorch 1.2.0**torchvision 0.4.0想学习机器学习和深度学习的同学,首先找个比较经典的案例和经典的方法自己动手试一试,分析这些方法的思想和每一行代码是一个快速入门的小技巧,今天我们谈论怎么用一些比较经典的方法实现经典数据集MNIST的识别分类问题。废话不多说,直接上代码!!!1.svm实现#!/usr/bin/env python3# -*- coding: utf-8 -*-# arguments原创 2021-11-27 20:56:35 · 3168 阅读 · 3 评论 -
python的魔法方法__init__
本片笔记: 子类需要自动调用父类的方法:子类不重写init()方法,实例化子类后,会自动调用父类的init()的方法。 子类不需要自动调用父类的方法:子类重写init()方法,实例化子类后,将不会自动调用父类的init()的方法。 子类重写init()方法又需要调用父类的方法:使用super关键词: super(子类,self).__init__(参数1,参数2,....)class Son(Father): def __init__(self, name): ..原创 2021-11-25 13:24:40 · 4265 阅读 · 0 评论 -
python中的Pickle文件和npy文件
1 Pickle文件1.1 介绍pickle模块可以对小数据量进行存储。数据存储在一个.pickle文件中。pickle和数据库都是为了方便存储数据。1.2 写入pickle文件pickle可以将对象数据压到一个文件中,永久保存。这样在取用时,只需将该文件中的数据取出。而不是每次都重新进过各种语句,处理得到对象数据。 pickle.dump(obj,file,protocal):序列化对象,并将结果数据流写入到文件对象中。参数protocol是序列化模式,默认值为0,表示以文本的形式序列化。原创 2021-11-25 13:13:51 · 9764 阅读 · 0 评论 -
python中‘with xxx as xxx :’原理的深度剖析
一.with对文件读取写入等操作:以下代码演示了Python基本的文件操作,包括 open,read,write:输出结果为:读文件:要以读文件的模式打开一个文件对象,使用Python内置的open()函数,传入文件名和标示符:>>> f = open('E:\python\python\test.txt', 'r')标示符'r'表示读(注意:‘rb’表示读取图片或者视频等二进制),这样,我们就成功地打开了一个文件。如果文件不存在,open()函.原创 2021-11-25 13:08:54 · 4550 阅读 · 0 评论 -
python的异常处理
异常处理try/except异常捕捉可以使用 try/except 语句。以下例子中,让用户输入一个合法的整数,但是允许用户中断这个程序(使用 Control-C 或者操作系统提供的方法)。用户中断的信息会引发一个 KeyboardInterrupt 异常。try 语句按照如下方式工作; 首先,执行 try 子句(在关键字 try 和关键字 except 之间的语句)。 如果没有异常发生,忽略 except 子句,try 子句执行后结束。 如果在执行...原创 2021-11-25 13:06:10 · 4252 阅读 · 0 评论 -
python装饰器的用法及讲述
常规的装饰器写法:较为精简的装饰器写法:但是在返回 a_function_requiring_decoration函数名字时,会出现以下错误:这并不是我们想要的!Ouput输出应该是"a_function_requiring_decoration"。这里的函数被warpTheFunction替代了。它重写了我们函数的名字和注释文档。幸运的是Python提供给我们一个简单的函数来解决这个问题,那就是functools.wraps。我们修改上一个例子来使用functools.wraps:原创 2021-11-25 13:02:31 · 297 阅读 · 0 评论 -
通过机器学习svm、ranforest等方法实现AD、heart、WDBC等病例数据集的分类任务:
由于sklearn模块中集成了很多机器学习算法,像比较常见的svm、ranforest、xgboost等机器学习算法都有,这里我们直接调用就行!!废话不多说,直接上整体源码:import numpy as npfrom sklearn import svmfrom sklearn.ensemble import RandomForestClassifierimport argparseimport scipy.ioparser = argparse.ArgumentParser()pa原创 2021-11-25 12:52:09 · 1074 阅读 · 0 评论 -
利用全连接网络实现病例AD,heart,WDBC等数据集的分类预测
1.网络搭建:"""作者:lds网络搭建"""import torch.nn as nnfrom torchvision import transforms as Tclass Net(nn.Module): # 搭建6层网络 def __init__(self, input, hidden_1, hidden_2, hidden_3, hidden_4, hidden_5,output):##在用到Net时,可以自己手动根据不同的数据集进行改动各层的大小。 ...原创 2021-11-25 12:43:29 · 1382 阅读 · 0 评论 -
PCA和LDA大实践(源码及原理)
PCA介绍------降维主成分分析(Principal Component Analysis),是一种用于探索高维数据的技术。PCA通常用于高维数据集的探索与可视化。还可以用于数据压缩,数据预处理等。PCA可以把可能具有线性相关性的高维变量合成为线性无关的低维变量,称为主成分(principal components),新的低维数据集会尽可能的保留原始数据的变量,可以将高维数据集映射到低维空间的同时,尽可能的保留更多变量。注意:降维就意味着信息的丢失,这一点一定要明确,如果用原始数据在模型上没有效原创 2021-11-25 12:34:15 · 4946 阅读 · 0 评论 -
MediaPipe实现手指关键点检测及追踪,人脸识别及追踪
OpenCV 是一个用于计算机视觉应用程序的库。在 OpenCV 的帮助下,我们可以构建大量实时运行更好的应用程序。主要用于图像和视频处理。可以在此处获取有关 OpenCV 的更多信息 (https://opencv.org/)除了 OpenCV,我们将使用 MediaPipe 库。1.MediaPipe简介MediaPipe是一个主要用于构建音频、视频或任何时间序列数据的框架。在 MediaPipe 框架的帮助下,我们可以为不同的媒体处理功能构建管道。MediaPipe 的一些主要..原创 2021-11-25 12:30:13 · 38203 阅读 · 20 评论 -
解决matplotlib的中文显示问题
为解决matplotlib的中文显示问题,首先我们要做的就是要先找到它所内置支持的字体,那么我们首先查看一下它的内置字体,运行以下代码查看所支持的字体:# 查询当前系统所有字体from matplotlib.font_manager import FontManagerimport subprocessmpl_fonts = [f.name for f in FontManager().ttflist]print('all font list get from matplotlib.fon原创 2021-11-21 19:57:36 · 1168 阅读 · 0 评论 -
相对路径和绝对路径区别
绝对路径:```python'E:\\桌面\\PCA-master\\testSet.txt'```相对路径:```python'/Users/hakuri/Desktop/testSet.txt'```# from . import,“.” 代表使用相对路径导入,即从当前项目中寻找需要导入的包或函数原创 2021-11-16 22:02:43 · 1913 阅读 · 0 评论 -
parser.add_argument用法
parser.add_argument用法detect.py文件:if __name__ == '__main__': parser = argparse.ArgumentParser() parser.add_argument('--cfg', type=str, default='cfg/yolov3-spp-6cls.cfg', help='*.cfg path') parser.add_argument('--names', type=str, default='d...原创 2021-11-16 22:02:04 · 11578 阅读 · 1 评论 -
labelimg的使用
labelimg的安装首先激活相应的环境conda activate ***然后安装:pip install labelimglabelimg的使用labelimg首先将标签位置确定了,不然会出现意想不到的错误小技巧:可以将view下边的auto save mode 打开,这样就可以直接边标注变保存常用快捷键注释:Ctrl + u 加载目录中的所有图像,鼠标点击Open dir同功能 Ctrl + r 更改默认注释目标目录(xml文件保存的地址...原创 2021-11-16 22:01:23 · 2741 阅读 · 0 评论 -
匿名函数用法
匿名函数python 使用 lambda 来创建匿名函数。 lambda只是一个表达式,函数体比def简单很多。 lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。 lambda函数拥有自己的命名空间,且不能访问自有参数列表之外或全局命名空间里的参数。 虽然lambda函数看起来只能写一行,却不等同于C或C++的内联函数,后者的目的是调用小函数时不占用栈内存从而增加运行效率。 语法lambda函数的语法只包含一个原创 2021-11-16 22:00:23 · 2242 阅读 · 0 评论